题目及要求如下:
代码如下:
#include<stdio.h>
int main(){
int i,n,m,move=0;
scanf("%d %d",&n,&m);
int arr[n];
for(i=0;i<n;i++){
scanf("%d",&arr[i]);
}
move=n-(m%n);//m可能大于n,所以要取余
for(i=move;i<n;i++){ //先打印move数字和move后面的
printf("%d ",arr[i]);
}
for(i=0;i<move-1;i++){ //再打印move前面的
printf("%d ",arr[i]);
}
printf("%d",arr[move-1]); //最后一个不能带空格
return 0;
}
1.采用技巧,并没有移动数组元素。