思路分析:
准备两个空数组a[],b[];
用a[]数组存储这些数,b[]数组在其后移的m位之后再结合%来存储这些数。
(b[i%n]:这样当数字超过m后前移存储)
代码如下:
/*
输入一个数n来说明数组长度,m代表右移位数,输出移动后的数组
*/
#include"bits/stdc++.h"
#define maxn 1000
using namespace std;
int a[maxn],b[maxn],f;
int main() {
int n,m;
cin >> n >> m;
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = m,j=0; i < n + m; i++,j++) {
b[i%n] = a[j];//当i+m=n时,b数组从头开始存储
}
for (int i = 0; i < n; i++) {
if (f)cout << " ";
cout << b[i];
f = 1;//确保不输出最后一位空格
}
return 0;
}