【项目3-有序数组中插入数据】
定义好一个有10个元素的数组,先输入9个呈升序的数作为前9个元素,再输入一个数,要求按原来排序的规律将它插入数组中。
例如,9个呈升序的数为1 7 8 17 23 24 59 62 101,需要插入的数字为50,输出的序列则为1 7 8 17 23 24 50 59 62 101。
[参考解答]
#include <stdio.h>
int main()
{
int d[10];
int i, n;
for(i=0; i<9; i++)
scanf("%d", &d[i]);
scanf("%d", &n); //要插入的数
i = 8;
while(i>=0&&d[i]>n ) //把大数往后“搬”,腾出位置保存n
{
d[i+1] = d[i];
i--;
}
i++;
d[i] = n;
for(i=0; i<10; ++i)
printf("%d ", d[i]);
printf("\n");
return 0;
}