输入两个正整数 n 和 m (1<m<n<=10),再输入 n 个整数,将这些数排成一行,向右循环移动 m 个位置(从右边移出的数再从左边移入),最后输出移动后的n个整数

输入两个正整数 n 和 m (1<m<n<=10),再输入 n 个整数,将这些数排成一行,向右循环移动 m 个位置(从右边移出的数再从左边移入),最后输出移动后的n个整数。

要求定义并调用函数 mov(x,n,m) 实现上述循环移动的功能,函数形参x的类型是整型指针,形参n和m的类型是int,函数的类型是void。

输出格式:数据之间以空格分隔,最后一个数据集后面没有空格


7-1 循环移动(10 分)_wywwzjj-CSDN博客 新博客:https://wywwzjj.top输入两个正整数 n 和 m (1&lt;m&lt;n&lt;=10),再输入 n 个整数,将这些数排成一行,向右循环移动 m 个位置(从右边移出的数再从左边移入),最后输出移动后的n个整数。输出格式:数据之间以空格分隔,最后一个数据集后面没有空格输入输出示例:括号内为说明输入样例:5 3 (n=5,m=... https://blog.csdn.net/weixin_42348709/article/details/80874537

#include <stdio.h>

void move(int x[],int n,int m)
{
    int i,t;
    while(m)
    {
        t = x[n-1];
        for (i=n-1;i>0;i--)
        {
            x[i] = x[i-1];
        }
        x[0] = t;
        m--;
    }
}


int main()
{
    int n,m;
    int i,j;
    int a[10];
    scanf("%d %d",&n,&m);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    
    move(a,n,m);

    for(i=0;i<n;i++)
    {
        if(i==0)
            printf("%d",a[i]);
        else
            printf(" %d",a[i]);
    }
    return 0;
}