九度OJ 1157:中位数 (中位数、排序)
2024-09-06 07:09:42
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2188
解决:1294
- 题目描述:
-
中位数定义:一组数据按从小到大的顺序依次排列,处在中间位置的一个数(或最中间两个数据的平均数).
给出一组无序整数,求出中位数,如果求最中间两个数的平均数,向下取整即可(不需要使用浮点数)
- 输入:
-
该程序包含多组测试数据,每一组测试数据的第一行为N,代表该组测试数据包含的数据个数,1<=N<=10000.
接着N行为N个数据的输入,N=0时结束输入
- 输出:
-
输出中位数,每一组测试数据输出一行
- 样例输入:
-
4
10
30
20
40
3
40
30
50
4
1
2
3
4
0
- 样例输出:
-
25
40
2
思路:
用快速排序,然后找出中位数。
我这个代码是最早写的,用的冒泡,效率较低。
代码:
#include <stdio.h> #define M 10000 int main(void)
{
int a[M];
int n, i, j, tmp; while (scanf("%d", &n) != EOF)
{
if (n == 0)
break;
for (i=0; i<n; i++)
scanf("%d", &a[i]); for (i=0; i<n-1; i++)
{
for (j=0; j<n-1-i; j++)
{
if (a[j] > a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
} //for (i=0; i<n; i++)
// printf("%d\t", a[i]); printf("%d\n", (n%2)==0 ? (a[n/2]+a[n/2-1])/2 : a[n/2]);
} return 0;
}
/**************************************************************
Problem: 1157
User: liangrx06
Language: C
Result: Accepted
Time:550 ms
Memory:912 kb
****************************************************************/
最新文章
- 深入理解CSS定位中的偏移
- JQuery $(function(){})和$(document).ready(function(){})
- git简单使用和说明文件的书写
- UVaLive 6609 Meeting Room Arrangement (贪心,区间不相交)
- UI2_QQ折叠-UITableViewController
- Keil中Memory Model和Code Rom Size说明
- vim配置之taglist插件安装
- Tomcat如何实现资源安全管理
- 浅谈java线程池实现
- docker初体验,搭建自用的gitlab服务
- 最小化spring XML配置,Spring提供了4种自动装配策略。
- 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.2】
- Phpstorm-远程连接服务器实时编辑代码
- 【Spring源码分析】Bean加载流程概览(转)
- 【搬运工】——Java中的static关键字解析(转)
- canvas实现刮刮乐
- Appium-We wanted {";required";:[";value";]} and you sent [";text";,";sessionId";,";id";,";value";]
- linux中使sqlplus能够上下翻页
- 跨域请求:JSONP
- 2. Oracle体系结构
热门文章
- httpd安装和配置(cgi、wsgi)
- Android学习--RecyclerView
- luogu P3800 Power收集
- 某考试T1 game
- SilverLight-DataBinding-DataTemplates: 三、数据绑定 DataTemplates模板的使用(求助,没有到达实例效果,求高人指点迷津)
- Solidworks如何使用Toolbox
- TP如何进行批量查询
- AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch
- [转]FPGA网站推荐
- IOS-4-面试题1:黑马程序猿IOS面试题大全