解析: 插入排序,没有必要每次输入都要重新排序,只要在合适的位置插入数值就行。用j记录插入的位置,
t记录插入的数据,j位及以后的数据向后移一位,a[j] = t;
中位数是一个重要概念,可以就解直线上最短距离问题。
1 #include <stdio.h> 2 int a[10010]; 3 int main() 4 { 5 long int i = 0, j, k, mid, t; 6 while(scanf("%ld", &a[i]) == 1){ 7 t = a[i]; 8 for(j = 0; j <= i; j++) 9 if(a[j] > t) 10 break; 11 /*在j处插入t值*/ 12 for(k = i; k >= j; k--) 13 a[k] = a[k-1]; 14 a[j] = t; 15 if(i % 2 == 0) 16 mid = a[i/2]; 17 else 18 mid = (a[i/2] + a[i/2+1]) / 2; 19 printf("%d\n", mid); 20 i++; 21 } 22 return 0; 23 }