浙大版《C语言程序设计(第3版)》题目集 习题8-3 数组循环右移 (20分)

在这里插入图片描述

#include <stdio.h>
#define MAXN 10
int 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");
    return 0;
}
int ArrayShift(int a[], int n, int m)
{
    int i, temp, j;
    m = m % n;
    for (i = 0; i < m; i++)
    {
        temp = a[n - 1];
        for (j = n - 1; j >= 1; j--)
        {
            a[j] = a[j - 1];
        }
        a[j] = temp;
    }
}
发布了251 篇原创文章 · 获赞 117 · 访问量 8522

猜你喜欢

转载自blog.csdn.net/qq_44458489/article/details/105355072
今日推荐