2.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:35:22
要求:
(1)整数数组由初始化方式输入。任意整数由scanf函数输入;
(2)实现过程采用指针处理;
(3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。

main( )
{
int i,j,number;
int a[11]={1,4,6,9,13,16,19,28,40,100};
/*数组初始化时预留一位置*/
printf("array a:\n");
for(i=0;i<10;i++) /* 输出数组原有元素 */
printf("%d ",a[i]);
printf("\n");
printf("Insert data:");
scanf("%d",&number); /* 读入要插入的数据 */
i=0; /* 以下三行找到插入位置i */
while (a[i]<number&&i<10)
i++;
for(j=9;j>=i;j--) /* 将插入点以后的元素顺序后移一位 */
a[j+1]=a[j];
a[i]=number; /* 插入数据 */
printf("Now,array a:\n");
for(i=0;i<11;i++) /* 输出插入后仍有序的数组 */
printf("%d ",a[i]);
}
运行情况如下:
array a:
1 4 6 9 13 16 19 28 40 100
Insert data:5↙
Now,array a:
1 4 5 6 9 13 16 19 28 40 100