数组元素循环右移的问题 #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; }