有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,写一函数实现以上功能,在主函数中输入n个整数和输出调整后的n个数
#include <stdio.h>
#define N 20
main()
{
void SortNum(int *parr, int m);
int arr[N];
int i,m,*p;
printf ("Please enter N numbers:/n");
for (i=0; i<N; i++)
scanf ("%d", &arr[i]);
printf ("Input m:");
scanf ("%d", &m);
SortNum(arr,m);
for (p=arr; p<arr+N; p++)
printf ("%d ", *p);
getch();
}
void SortNum(int *parr, int m)
{
int *p,*pend;
int i,j,temp;
pend=parr+N-1;
for (i=0; i<m; i++) /* 进行m次移动 */
{
temp=*(parr+N-1);
for (p=(parr+N-1); p>parr; p--)
*p=*(p-1);
*parr=temp;
}
}