解题思路:
n个数后移m位,可以理解为两个部分输出:
1、从数组的第n-m+1个数到第n个数。
2、从第一个数到第n-m个数。
因此,可以考虑利用取余操作,当循环到了第n个数以后回到第一个数,即将以上的两个部分利用一个for循环输出。
参考代码:
#include int main() { int n,m,i; int a[1000]; scanf("%d", &n); for(i=0;i<n;i++) { scanf("%d", &a[i]); } scanf("%d", &m); for(i=n-m;i<2*n-m;i++) { printf("%d ", a[i%n]); } return 0; } |
0.0分
2 人评分