有n个整数,使其前面各数顺序后移m个位置, 最后m个数变成最前面的m个数(相当于循环队列)

#include 
void move(int number[20], int n, int m);
int main()
{
    int number[20], n, m;
    printf("请输入整数个数:\n");
    scanf("%d", &n);
    printf("请输入移动位数:\n");
    scanf("%d", &m);
    printf("请输入%d个整数", n);

    for (int i = 0; i < n; i++)
    {
        scanf("%d", &number[i]);
    }
    for (int i = 0; i < n; i++)
    {
        printf("%d ", number[i]);
    }
    printf("\n");
    move(number, n, m);
    for (int i = 0; i < n; i++)
    {
        printf("%d ", number[i]);
    }
    return 0;
}

void move(int number[20], int n, int m)
{
    for (int i = 0; i < m; i++)
    {
        int t = number[n - 1];
        for (int j = n - 1; j > 0; j--)
        {
            number[j] = number[j - 1];
        }
        number[0] = t;
    }
}

有n个整数,使其前面各数顺序后移m个位置, 最后m个数变成最前面的m个数(相当于循环队列)_第1张图片

你可能感兴趣的:(c语言习题,算法,开发语言,c语言)