有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输人n个整
数和输出调整后的n个数。
#include<stdio.h>
int main()
{
void move(int[20],int,int);
int number[20],n,m,i;
printf("how many number?");
scanf("%d",&n);
printf("input %d number:\n",n);
for(i=0;i<n;i++)
scanf("%d",&number[i]);
printf("how many place you want move?");
scanf("%d",&m);
move(number,n,m);
printf("Now,ther are:\n");
for(i=0;i<n;i++)
printf("%d ",number[i]);
printf("\n");
return 0;
}
void move(int array[20],int n,int m)
{
int *p,array_end;
array_end=*(array+n-1);
for(p=array+n-1;p>array;p--)
*p= *(p-1);
*array=array_end;
m--;
if(m>0) move(array,n,m);
}