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();
}
标签:10,数字,将首,int,数组,一维,移动
From: https://blog.csdn.net/scy2429828663/article/details/142501077