循环左移
代码:
#include <stdio.h>
#define M 3//循环左移m位
#define N 8//数组长度
void move(int arr[]){
int temp,i,j;
for(j=1;j<=M;j++){//外循环控制移动位数
temp=arr[0];//最低位先存放
for(i=0;i<N-1;i++)//内循环控制数据移动
arr[i]=arr[i+1];//低位左移
arr[N-1]=temp;//最高位更新
}
}
int main(){
int a[N];
int i;
printf("请输入数据:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
move(a);
printf("循环左移结果:\n");
for(i=0;i<N;i++)
printf("%d",a[i]);
return 0;
}
结果:
请输入数据:
1 2 3 4 5 6 7 8
循环左移结果:
45678123