1.移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3。
移动后,一维数组中的内容应为:5,6,7,8,9,10,1,2,3,4。
2.我们确定数组,然后输入交换的几次,意思就是先前移动几位,然后每次移动的时候,将首元素存储在ch里面,将首元素赋值给数组的最后一位进行替换。
#include<stdio.h>
#define N 80
void fun(int* w, int p, int n)
{int x, j, ch;for (x = 0; x <= p; x++)//循环n次{ch = w[0];//将首元素存储起来for (j = 1; j < n; j++)//将数组先前移动一位{w[j - 1] = w[j];}w[n - 1] = ch;//将最后一个元素赋值为首元素}
}
main()
{int a[N] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };//int i = 0; int p = 0; int n = 15;printf("The original data:\n");for (i = 0; i < n; i++)printf("%3d", a[i]);printf("\n\nEnter p: "); scanf_s("%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();
}