数组元素循环右移的问题

#include<stdio.h>
#include<iostream>
static int a[100];
void move(int* num, int step, int len) {
int b[100];
step = step % len;
for (int i = 0; i < len; i++) {
if (i - step < 0) {
b[i] = num[len + i - step];
}
else {
b[i] = num[i - step];
}
}
for (int j = 0; j < 100; j++) {
a[j] = b[j];
}
}
int main() {
int m, n;
std::cin >> m >> n;
for (int i = 0; i < m; i++) {
std::cin >> a[i];
}
move(a, n, m);
for (int i = 0; i < m; i++) {
if (i != m - 1) {
std::cout << a[i] << ' ';
}
else {
std::cout << a[i];
}
}
return 0;
}
最后
以上就是友好书本最近收集整理的关于PAT上分记(c++ + 完美过关)---1008---数组元素循环右移问题数组元素循环右移的问题的全部内容,更多相关PAT上分记(c++内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复