函数fun的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标0到p(含p,p<=n-1)的数组元素平移到数组的最后。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define N 80
void fun(int *w, int p, int n)
{
int i, a[N];
for (i = 0;i <p + 1;i++)
a[i] = w[i];
for (i = 0;i < n - p - 1;i++)
w[i] = w[ p + 1 + i];
for (i = 0;i < p + 1;i++)
w[n - p - 1 + i] = a[i];
}
int main()
{
int a[N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };
int i, p, n = 15;
printf("The original data:\n");
for (i = 0;i < n;i++)
printf("%3d", a[i]);
printf("\n\nEnter p:");
scanf("%d", &p);
fun(a, p, n);
printf("\nThe data after moving:\n");
for (i = 0;i < n;i++)
printf("%3d", a[i]);
printf("\n\n");
getchar();
getchar();
return 0;
}