NYOJ - 124

来源:互联网 发布:java中replace函数的包 编辑:程序博客网 时间:2024/05/17 17:57

中位数

时间限制: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>void sort(int a[],int n){       int i,j,k;for(i = 0; i < n-1; i++){k = i;for(j = i+1; j < n; j++){if(a[k] > a[j])k = j;}if(k != i){int t = a[k];a[k] = a[i];a[i] = t;}}}int main(){int n,m,a[1000];scanf("%d",&n);while(n--){scanf("%d",&m);for(int i = 0; i < m; i++){scanf("%d",&a[i]);}sort(a,m);printf("%d\n",a[m/2]);}}
原创粉丝点击