输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
#include <stdio.h> #include <math.h> int main() { int N = 0,M = 0, i = 0; int arr[200]; scanf("%d %d",&N, &M); // 边界判断 if(N <= 0 || N > 100 || M < 0){ return 0; } // 获取初始列表 for(; i < N; i++){ scanf("%d",&arr[i]); } // 若右移超过长度,则循环移动 M = M % N; // 先输出右移后后面还剩下的长度 for(i = N - M; i < N; i++){ printf("%d ", arr[i]); } // 再输出右移后左边的部分 for(i = 0; i < N - M - 1; i++){ printf("%d ", arr[i]); } printf("%d", arr[i]); return 0; }