8_12 数组循环移位

【问题描述】对数组前面的n个整数,各数循环顺序后移m个位置,最后m个数变成最前面m个数。

        编写函数void fun(int *p,int n,int m),实现上述功能:对p指向的数组前n个数循环可移m位。

        在main()中输入变量n与m,然后输出移位后的数组各数。

【输入形式】输入2个正整数n和m

【输出形式】对前n个数循环右移m位后,数组中全部20个数。

【样例输入1】Please input n and m:20 14

【样例输出1】7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6

【样例输入2】Please input n and m:10 14

【样例输出2】7 8 9 10 1 2 3 4 5 6 11 12 13 14 15 16 17 18 19 20

【样例输入3】Please input n and m:12 22

【样例输出3】3 4 5 6 7 8 9 10 11 12 1 2 13 14 15 16 17 18 19 20

【样例说明】输入的n值请小于等于20,m值为正整数
【部分代码】

#include "stdio.h"

void fun(int *p,int n,int m)

{



}

int main()

{

    void fun(int *,int ,int );

     int x[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},i,m,n;

     printf("Please input n and m:");

     scanf("%d%d",&n,&m);

    fun(x,n,m);

    for(i=0;i<20;i++)

        printf("%d ",x[i]);

    printf("\n");

    return 0;

}