习题8-3 数组循环右移 (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) {
    while (m--) {
        int temp = a[n - 1];
        for (int i = n - 1; i >= 1; i--)
            a[i] = a[i - 1];
        a[0] = temp;
    }
}

 

posted @ 2022-02-18 09:05  JamesGordan  阅读(38)  评论(0)    收藏  举报