代码如下:
#include <stdio.h>
main()
{
int a[10]={3,6,9,12,13,15,17,45,65};
int end=8;
int b,i;
printf("插入数据之前的顺序是:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
printf("请输入一个数据:");
scanf("%d",&b);
//从后往前依次与数组中元素进行比较,如果要插入数据的b比end位置数据小,则b一定插在end位置之前,end位置数据先后移一个位置
//如果要插入数据的b大于end位置元素,则将新元素插入到end+1的位置
while(end>=0 && b<a[end])
{
a[end+1]=a[end];
end--;
}
a[end+1]=b;
printf("插入数据之后的顺序是:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
结果如下:
插入数据之前的顺序是:
3 6 9 12 13 15 17 45 65 0
请输入一个数据:32
插入数据之后的顺序是:
3 6 9 12 13 15 17 32 45 65
请按任意键继续. . .