还是水题,简单的排序。大半夜的,没脑子想太复杂的代码了,就随手找了段以前写的插入排序将就着用了。
题目的意思就是取一个数列的中位数,很简单,排序后取a[n/2]即可。
代码如下:
1 #ifndef _2388_H 2 #define _2388_H 3 4 #include "stdio.h" 5 6 #define ARRAY_LENGTH 10000 7 8 int array[ARRAY_LENGTH]; 9 10 void insertSort(int array[ARRAY_LENGTH], int len) { 11 int i, j, key; 12 for (j = 1; j < len; j++) { 13 i = j - 1; 14 key = array[j]; 15 while (i >= 0 && array[i] > key) { 16 array[i + 1] = array[i]; 17 i--; 18 } 19 array[i + 1] = key; 20 } 21 } 22 23 void process(){ 24 int n, i = 0; 25 scanf_s("%d", &n); 26 for (; i < n; i++){ 27 scanf_s("%d", &array[i]); 28 } 29 insertSort(array, n); 30 printf("%d ", array[n / 2]); 31 } 32 #endif