1 /*中位数 2 时间限制:3000 ms | 内存限制:65535 KB 3 难度:2 4 描述 5 一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。 6 7 比如 1 5 10 11 9 其中位数就是9.因为排序过后,9处在中间位置。 8 9 现在给你一些数,请你求出其中位数。 10 11 输入 12 第一行输入一个整数T(1<=T<=1000)表示测试数据的组数。 13 随后的一行是一个奇数M,表示该组测试数据中共有M(1<=M<=1000)个数。 14 随后的一行有M个互不相同的整数,这些整数都不大于10000且不小于-10000。 15 输出 16 对于每组测试数据输出一个整数,表示这M个数的中位数。 17 样例输入 18 1 19 5 20 1 5 10 11 9 21 样例输出 22 9 23 */ 24 #include<stdio.h> 25 int main() 26 { 27 int n; 28 scanf("%d",&n); 29 while(n--) 30 { 31 int m,s[1001],i, j, t; 32 scanf("%d",&m); 33 for(i=0; i<n; i++) 34 scanf("%d",&s[i]); 35 for(i=0; i<m; i++) 36 { 37 for(j=i+1; j<m; j++) 38 if(s[i]>s[j]) 39 { 40 t=s[i]; 41 s[i]=s[j]; 42 s[j]=t; 43 } 44 } 45 printf("%d\n",s[m/2]); 46 } 47 return 0; 48 }