56 循环数组
作者: 江宝钏时间限制: 1S章节: 函数
问题描述 :
编写程序,将一维数组中的元素向右循环移动N次。
输入说明 :
第一行整数n,表示数组大小为n
第二行,n个数,表示数组中的n个元素。
第三行,整数N,表示数组向右移动N次。
输出说明 :
移动后的数组元素,每两个元素之间以一个空格分隔。行首与行尾无多余空格。
输入范例 :
10
1 2 3 4 5 6 7 8 9 10
4
输出范例 :
7 8 9 10 1 2 3 4 5 6
#include<stdio.h>
int main(){
int m,n,i,len,N,r;
int a[100],b[100];
scanf("%d",&m);
len=m;
for(i=0;i<m;i++){
scanf("%d",&n);
a[i]=n;
}
scanf("%d",&N);
for(i=0;i<m;i++){
r=(N+i)%m;
b[r]=a[i];
}
for(i=0;i<m;i++){
if(i==m-1){
printf("%d\n",b[i]);
}else{
printf("%d ",b[i]);
}
}
return 0;
}