nyoj 中位数 124 (数学)

来源:互联网 发布:知行论坛北交大 编辑:程序博客网 时间:2024/06/07 07:35

中位数

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述

一组数据按从小到大的顺序依次排列,处在中间位置的一个数叫做中位数。

比如 1 5 10 11 9  其中位数就是9.因为排序过后,9处在中间位置。

现在给你一些数,请你求出其中位数。

输入
第一行输入一个整数T(1<=T<=1000)表示测试数据的组数。
随后的一行是一个奇数M,表示该组测试数据中共有M(1<=M<=1000)个数。
随后的一行有M个互不相同的整数,这些整数都不大于10000且不小于-10000。
输出
对于每组测试数据输出一个整数,表示这M个数的中位数。
样例输入
151 5 10 11 9
样例输出
9
#include<stdio.h>#include<algorithm>using namespace std;int a[1010];int main(){int t,n,i,m;scanf("%d",&t);while(t--){scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);sort(a+1,a+n+1);printf("%d\n",a[(n+1)/2]); }return 0;} 


0 0
原创粉丝点击