Problem D: 移数
Description
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数,如下图:
Input
多组测试数据。每组2行 第1行输入2个整数n和m, 1 < m < n < 100 第2行输入n个整数
Output
输出移动后的数据
Sample Input
4 2
1 4 5 6
Sample Output
5 6 1 4
#include<stdio.h>
int main()
{
int a[100],n,m,i;
int move(int *x,int n,int m);
while(scanf("%d%d",&n,&m)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
move(a,n,m);
for(i=0;i<n-1;i++)
printf("%d ",a[i]);
printf("%d",a[n-1]);
printf("\n");
}
return 0;
}
int move(int *x,int n,int m){
int t[100];
int i;
for(i=0;i<n;i++)
t[i]=x[i];
for(i=0;i<m;i++)
x[i]=t[n-m+i];
for(i=m;i<n;i++)
x[i]=t[i-m];
}