输出格式:
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
做这个题我觉得还是抠字眼三个字比较重要,比如说不许另加数组,但是可以把一个数组做的空间大一些就可以简单转移了;0<=M<=100,N>=0,注意N有可能大于M;另外感觉多多练习用处很大,类似的题目又很容易解决了,继续补充能量;
#include <stdio.h>
int main(){
int n,num,t;
scanf("%d %d",&n,&num);
num=num%n;
int mov[n+num];
for(int i=0;i<n;i++){
scanf("%d",&mov[i]);
}
for(int i=n-1;i>=0;i--){
mov[i+num]=mov[i];
}
for(int j=n;j<=n+num-1;j++){
t=mov[j];
mov[j]=mov[j-n];
mov[j-n]=t;
}
printf("%d",mov[0]);
for(int i=1;i<n;i++) printf(" %d",mov[i]);
return 0;
}