/*有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。写一函数实现
以上功能,在主函数中输入n个整数和输出调整后的n个数*/
#include <stdio.h>
#define N 5
#define M 2
int fun(int a[N])
{
int *p;
p = a;
int i,j,t,k;
for(i = N - M,k = 1;i > 0;i--,k++)
{
for(j = i - 1;j < N - k;j++)
{
t = *(p + j + 1);
*(p + j + 1) = *(p + j);
*(p + j) = t;
}
}
}
int main()
{
int a[N];
int i;
printf("请输入数字:");
for(i = 0;i < N;i++)
{
scanf("%d",&a[i]);
}
fun(a);
printf("调整之后:");
for(i = 0;i < N;i++)
{
printf("%d ",a[i]);
}
}
谭浩强C程序设计(第四版)p291第4题
可能我的做法略显麻烦