1.编程实现:将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然保持有序。用C++编写的 5
要求:(1)整数数组由初始化方式输入。任意整数由cin函数输入。(2)实现过程采用指针处理。(3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。...
要求:(1)整数数组由初始化方式输入。任意整数由cin函数输入。(2)实现过程采用指针处理。(3)输出原始数组数据以及插入数据后的数组数据并加以相应说明。
展开
2个回答
展开全部
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
{
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询