【项目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; }