POJ 2388

还是水题,简单的排序。大半夜的,没脑子想太复杂的代码了,就随手找了段以前写的插入排序将就着用了。

题目的意思就是取一个数列的中位数,很简单,排序后取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
原文地址:https://www.cnblogs.com/chrischeng/p/4640209.html