NYOJ 124 中位数
2013-12-17 22:15
232 查看
中位数
时间限制: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个数的中位数。
样例输入
1 5 1 5 10 11 9
样例输出
9
思路:利用库函数qsort对输入的数进行排序,然后去中间位置的元素即可。
#include <stdio.h> #include <stdlib.h> int comp ( const void *a, const void *b ) { return *( int * ) a - * ( int * ) b; } int main() { int m,n; int i,a[1010]; scanf("%d",&m); while (m--) { scanf("%d",&n); for (i=0; i<n; i++) { scanf("%d",&a[i]); } qsort(a,n,4,comp); printf("%d\n",a[i/2]); } }
相关文章推荐
- Spark Softmax
- Qt的QGridLayout按比例设定布局
- Balanced Binary Tree
- 关于ckeditor和webeq结合插入在线公式的回复
- mantis_tta_scheduler
- python中的排序问题——多属性排序
- Javascript中布尔运算符的高级应用
- Balanced Binary Tree
- ubuntu安装cuda
- 比较好使的VS2013的扩展工具(个人备注)
- 在myeclipse中启动tomcat时没看到输出信息怎么办?
- Linux字符设备驱动之cdev_init
- catch sigsegv
- LINUX 3.5.4 PTRACE (系列七)
- Qt隐藏鼠标(嵌入式)
- 单例模式中,懒汉式和饿汉式的区别
- 命名对象继承2-验证Open*命名对象安全属性的传递
- 和借钱有关(二)
- SVN源码服务器搭建-详细教程
- 每日Ubuntu小技巧 - 使用Ubuntu拷贝CD和DVD光盘