实验8-1-7 数组循环右移 (20 分)

Posted JamesGordan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验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];

 

以上是关于实验8-1-7 数组循环右移 (20 分)的主要内容,如果未能解决你的问题,请参考以下文章

B1008 数组元素循环右移问题 (20分)

1008 数组元素循环右移问题 (20分)

习题8-3 数组循环右移(20 分)

自测-3 数组元素循环右移问题 (20 分)

PAT乙级 1008 数组元素循环右移问题 (20 分)

习题8-3 数组循环右移 (20 分)