题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
1、先排序
2、插入
#include <stdio.h>// 主函数
void main()
{int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};//排序(选择排序)for (i = 0;i< 10;i++) {p = i;q = a[i];for (j = i+1;j< 10;j++) {if (q > a[j]) {q = a[j];p = j;}}if (p != i) {s = a[i];a[i] = a[p];a[p] = s;}}scanf("%d", &n);//插入for (i = 0;i< 10;i++)if (n < a[i]) {for (s=9;s >= i; s--) {a[s+1] = a[s];}printf("i=%d\n", i);break;}a[i] = n;for(i=0;i<=10;i++)printf("%d ", a[i]);
}
执行结果: