数组元素循环右移问题 (20分)
总结:
注意右移m位,相当于原数组没有移动,所以对m进行处理,m = m%n。
代码:
#include<cstdio>
int main(){
int n,m;
scanf("%d%d", &n,&m);
int a[100];
int i;
for(i=0; i<n; i++){
scanf("%d", &a[i]);
}
m = m%n; //m值修正
if(m==0){
printf("%d", a[0]);
for(i=1; i<n; i++)
printf(" %d", a[i]);
}else{
printf("%d", a[n-m]);
for(i=n-m+1; i<n; i++){
printf(" %d", a[i]);
}
for(i=0; i<n-m; i++){
printf(" %d", a[i]);
}
}
return 0;
}