1.题目
2. 代码
- 快速完成任务的方法
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int a[100], n, k;
cin >> n >> k;
k = k%n;
for(int i=0; i<n; i++){
cin >> a[i];
}
//直接输出
for(int i=n-k; i<n; i++){
cout << a[i] << " ";
}
for(int i=0; i<n-k; i++){
cout << a[i] << " ";
}
cout << endl;
return 0;
}
- 按要求右移数组。。。
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int n, k;
int a[100];
cin >> n >> k;
for(int i=0; i<n; i++){
cin >> a[i];
}
//循环右移,tmp是附加存储,右移后的数组存在原来的存储空间
int tmp;
for(int i=0; i<k; i++){
tmp = a[n-1];
for(int j=n-2; j>=0; j--){
a[j+1] = a[j];
}
a[0] = tmp;
}
//输出
for(int i=0; i<n; i++){
cout << a[i] << " ";
}
return 0;
}