实验8-1-7 数组循环右移 (20 分)
#include <stdio.h> #define MAXN 10 void ArrayShift(int a[], int n, int m); int main() { int a[MAXN], n, m; int i; scanf("%d %d", &n, &m); for (i = 0; i < n; i++) scanf("%d", &a[i]); ArrayShift(a, n, m); for (i = 0; i < n; i++) { if (i != 0) printf(" "); printf("%d", a[i]); } printf("\n"); system("pause"); return 0; } /* 你的代码将被嵌在这里 */ void ArrayShift(int a[], int n, int m) { int b[MAXN], i; if (m > n) m %= n; for (i = 0; i < m; i++) b[i] = a[n - m + i]; for (i = m; i < n; i++) b[i] = a[i - m]; for (i = 0; i < n; i++) a[i] = b[i]; }