时间限制: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
来源:
2011年北京大学计算机研究生机试真题

思路:

用快速排序,然后找出中位数。

我这个代码是最早写的,用的冒泡,效率较低。

代码:

#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
****************************************************************/

九度OJ 1157:中位数 (中位数、排序)的更多相关文章

  1. 九度OJ 1349 数字在排序数组中出现的次数 -- 二分查找

    题目地址:http://ac.jobdu.com/problem.php?pid=1349 题目描述: 统计一个数字在排序数组中出现的次数. 输入: 每个测试案例包括两行: 第一行有1个整数n,表示数 ...

  2. 九度OJ 1196:成绩排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4339 解决:1476 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N< ...

  3. 九度OJ 1185:特殊排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:15588 解决:3592 题目描述: 输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序. 输入: 输入第一行包括1个整数N,1< ...

  4. 九度OJ 1066:字符串排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5632 解决:2299 题目描述: 输入一个长度不超过20的字符串,对所输入的字符串,按照ASCII码的大小从小到大进行排序,请输出排序后的 ...

  5. 九度OJ 1061:成绩排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:17158 解决:4798 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相 ...

  6. 九度OJ 1023:EXCEL排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:14605 解决:3307 题目描述:     Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能.     对每个测试用例 ...

  7. 九度OJ 1135:字符串排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1559 解决:807 题目描述: 先输入你要输入的字符串的个数.然后换行输入该组字符串.每个字符串以回车结束,每个字符串少于一百个字符. 如 ...

  8. 九度OJ 1130:日志排序 (排序)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1265 解决:303 题目描述: 有一个网络日志,记录了网络中计算任务的执行情况,每个计算任务对应一条如下形式的日志记录: "hs ...

  9. 九度oj 题目1202:排序

    题目1202:排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:28802 解决:9408 题目描述: 对输入的n个数进行排序并输出. 输入: 输入的第一行包括一个整数n(1<=n ...

随机推荐

  1. ios学习的博客地址

    1.文顶顶博客   http://www.cnblogs.com/wendingding/ 2.唐巧的博客: http://blog.devtang.com/ 唐巧总结的40个国人iOS技术博客 博客 ...

  2. Google Cloud服务免费申请试用以及使用教程

    简介 Google Cloud Platform lets you build and host applications and websites, store data, and analyze ...

  3. Ansible之Playbook详解

    1.Playbook详解 playbook是一个非常简单的配置管理和多主机部署系统,可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式. 核心元素 Hosts:主机 Tasks:任务,由 ...

  4. SecureCRT介绍、安装、使用(转)

    http://blog.csdn.net/liang19890820/article/details/49701429 简介 SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简 ...

  5. Mac OS X上使用Wireshark抓包

    Wireshark针对UNIX Like系统的GUI发行版界面采用的是X Window(1987年更改X版本到X11).Mac OS X在Mountain Lion之后放弃X11,取而代之的是开源的X ...

  6. Fresco的使用及注意事项

    Fresco的使用及注意事项 时间 2016-10-17 18:32:12 DevWiki's Blog 原文  http://blog.devwiki.net/index.php/2016/10/1 ...

  7. linuxshell编程之变量

    变量分类: 用户自定义变量:局部变量 定义格式:变量名=变量值(*等号左右不能有空格,加了空格会报错) 调用格式:echo $变量名(调用的是变量名等效的值) 变量叠加:$x=123,y=" ...

  8. SSD配置

    SSD: Single Shot MultiBox Detector - 运行“ make -j32”时出错: nvcc warning : The 'compute_20', 'sm_20', an ...

  9. maven dubbo zookeeper 项目搭建(有效)jar包非war测试

    zookeeper安装以及dubbo-admin.war(管理端)配置启动,本章省略,参考其他内容 这里主要说服务提供者和消费者 项目结构: 1)服务端 DemoServer.java package ...

  10. useradd umask报错 root用su 切换到普通用户提示输入密码并报密码错误

    添加新用户与以下文件有关联: /etc/default/useradd [root@localhost pam.d]# cat /etc/default/useradd # useradd defau ...