/* 功能:数组循环左移 日期:2013-05-20 */ #include <stdio.h> #include <stdlib.h> #include <math.h> #define LEN 6
int main(void) { int num[LEN]={1,2,3,4,5,6}; int tmp[LEN]={0}; int i,j,a; printf("数组:"); for(j=0;j<=LEN-1;j++) { printf("%d ",num[j]); } printf("n");
printf("请输入左移位数:"); scanf("%d",&i);
if(i>LEN) { printf("左移位数不可大于数组长度!n"); printf("请重新输入:"); scanf("%d",&i); } printf("n");
a=i; for(i=0,j=0;i<=a;i++,j++) { tmp[j] = num[i]; } for(j=0,i=a;i<=LEN-1;i++,j++) { num[j] = num[i]; } for(j=LEN-a,i=0;i<=a;i++,j++) { num[j] = tmp[i]; } printf("左移后:"); for(j=0;j<=LEN-1;j++) { printf("%d ",num[j]); } printf("n"); system("pause"); return 0; }