【问题描述】对数组前面的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;
}