小中大

来源:CCF

标签:

参考资料:

相似题目:

背景

在数据分析中,最小值最大值以及中位数是常用的统计信息。

题目

老师给了你 n 个整数组成的测量数据,保证有序(可能为升序或降序),可能存在重复的数据。请统计出这组测量数据中的最大值、中位数以及最小值,并按照从大到小的顺序输出这三个数。

输入

从标准输入读入数据。
第一行输入一个整数 n,在第二行中存在 n 个有序的整数,表示测量数据,可能为升序或降序排列,可能存在连续多个整数相等,整数与整数之间使用空格隔开。

输出

输出到标准输出。
包含一行,包括最大值、中位数以及最小值共三个数,并按照从大到小的顺序输出。数据与数据之间使用空格隔开。对于整数请直接输出整数,对于可能出现的分数,请输出四舍五入保留 1 位小数的结果。

输入样例1

3
-1 2 4

输出样例1

4 2 -1

样例解释1

4 为最大值,2 为中位数,−1 为最小值。

输入样例2

4
-2 -1 3 4

输出样例2

4 1 -2

样例解释2

4 为最大值,(−1 + 3) ÷ 2=1 为中位数,−2 为最小值。

提示

解题思路

在参考代码1中,利用数组来存储每个整数。在参考代码2中,即时判断处理,就无需使用数组了。

参考代码1

#include<cstdio>
const int MAXN=100010;int n;
int arr[MAXN];int main(){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&arr[i]);}int mx, mn;double mid;if(arr[0]<=arr[n-1]){mx=arr[n-1];mn=arr[0];}else{mx=arr[0];mn=arr[n-1];}if(n&1){ //奇数 mid=arr[n/2];printf("%d %d %d\n",mx, (int)mid, mn);}else{ //偶数mid=(arr[n/2-1]+arr[n/2])*1.0/2;if((mid-(int)mid)==0){ //整数printf("%d %d %d\n", mx,(int)mid, mn);}else{printf("%d %.1f %d\n",mx,mid,mn);}}return 0;
}

参考代码2

#include<cstdio>int n;
int mx,mn;
double mid;int main(){scanf("%d",&n);int flag=n&1; //如果n为奇数,那么flag为1;如果n为偶数,那么flag为0。 int val;for(int i=0;i<n;i++){scanf("%d",&val);if(i==0){mn=val; //把第一个数暂且存入mn }if(i==n-1){mx=val; //把最后一个数暂且存入mx }if(i==n/2 && flag){mid=val;}if((i==n/2-1 || i==n/2) && !flag){mid+=val/2.0;}}if(mx<mn){int t=mn;mn=mx;mx=t;}if((mid-(int)mid)==0){ //中位数为整数 printf("%d %d %d\n", mx,(int)mid, mn);}else{printf("%d %.1f %d\n",mx,mid,mn);}return 0;
}

CCF计算机软件能力认证试题练习:201903-1 小中大相关推荐

  1. CCF计算机软件能力认证试题练习:201909-2 小明种苹果(续)

    小明种苹果(续) 来源:CCF 标签: 参考资料: 相似题目: 题目 小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作, ...

  2. CCF计算机软件能力认证试题练习:201803-2 碰撞的小球

    碰撞的小球 来源:CCF 标签: 参考资料: 相似题目: 题目 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上, ...

  3. CCF计算机软件能力认证试题练习:201809-2 买菜

    买菜 来源:CCF 标签: 参考资料: 相似题目: 题目 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装 ...

  4. CCF计算机软件能力认证试题练习:201609-3 炉石传说

    炉石传说 来源:CCF 标签: 参考资料: 相似题目: 题目 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集 ...

  5. CCF计算机软件能力认证试题练习:201803-4 棋局评估

    棋局评估 来源:CCF 标签: 参考资料: 相似题目: 题目 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是"X", ...

  6. CCF计算机软件能力认证试题练习:201912-3 化学方程式

    化学方程式 来源:CCF 标签: 参考资料: 相似题目: 题目 化学方程式,也称为化学反应方程式,是用化学式表示化学反应的式子.给出一组化学方程式,请你编写程序判断每个方程式是否配平(也就是方程式中等 ...

  7. CCF计算机软件能力认证试题练习:201612-2 工资计算

    工资计算 来源: 标签: 参考资料: 相似题目: 题目 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资(扣除五险一金后.未扣税前的工资)为S元,则他应 ...

  8. CCF计算机软件能力认证试题练习:201712-3 Crontab

    Crontab 来源: 标签: 参考资料: 相似题目: 题目 输入 输出 输入样例 3 201711170032 201711222352 0 7 * * 1,3-5 get_up 30 23 * * ...

  9. CCF计算机软件能力认证试题练习:201512-2 消除类游戏

    消除类游戏 来源: 标签: 参考资料: 相似题目: 题目 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有 ...

最新文章

  1. 《包容的智慧》读后感-包容有多少,拥有就有多少
  2. LightOJ-1028 Trailing Zeroes (I)---因子数目
  3. ubuntu~快捷键
  4. 线段树segment_tree go语言实现
  5. SAP UI5 webIDE good build and bad build
  6. HDU 1875 畅通工程再续
  7. SSM:Spring整合MyBatis框架时出现 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManaged
  8. Tokyo Tyrant基本规范(1)--介绍和安装
  9. 763. 划分字母区间(JavaScript)
  10. 现在去做自动化测试开发了
  11. web系统找回密码流程
  12. rubygems 安装mysql时出错_Ruby gem install mysql 错误解决
  13. 何如添加到将文章添加到首页
  14. Linux平台开源浏览器
  15. 自锁时间电路plc_自锁与互锁电路的plc梯形图程序【图】
  16. 个人资料管理经验总结
  17. 日订单超1000万,美团外卖是如何设计广告推送系统的?
  18. 广州大学数据结构实验一
  19. 利用Javascript制作宾果(BINGO)游戏
  20. Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings(翻译)

热门文章

  1. AI推理服务平台升级,阿里云机器学习PAI推出新规格
  2. KRnano打开黑屏: FATAL ERROR,【解决办法】
  3. APP开发流程实例讲解-儒释道网络电台八天开发全程-百度云深度兼容测试并进一步优化排错
  4. EJB到底是什么?(推荐)
  5. coursera课程,coursera课程下载学习
  6. 盛大数位红 正式进军手机游戏
  7. 微信小程序--微信支付流程
  8. 一、dubbo入门与实战
  9. linux之getopt 函数
  10. 深度学习中,范数有什么意义