输入两个正整数 n 和 m (1<m<n<=10),再输入 n 个整数,将这些数排成一行,向右循环移动 m 个位置(从右边移出的数再从左边移入),最后输出移动后的n个整数。
要求定义并调用函数 mov(x,n,m) 实现上述循环移动的功能,函数形参x的类型是整型指针,形参n和m的类型是int,函数的类型是void。
输出格式:数据之间以空格分隔,最后一个数据集后面没有空格
输入输出示例:括号内为说明
输入样例:
5 3 (n=5,m=3)
1 2 3 4 5 (5个整数)
输出样例:
After move: 3 4 5 1 2
#include<stdio.h>
#include<stdlib.h>
void mov(int *x,int n,int m)
{
int i;
printf("After move:");
for(i=n-m;i<n;i++)
{
printf(" %d",x[i]);
}
for(i=0;i<n-m;i++)
{
printf(" %d",x[i]);
}
}
int main()
{
int *p; int n,m,i;
scanf("%d %d",&n,&m);
p=(int *)malloc(n*sizeof(int));
for(i=0;i<n;i++)
{
scanf("%d",&p[i]);
}
mov(p,n,m);
return 0;
}