CCF计算机软件能力认证试题练习:201903-1 小中大
小中大
来源: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 小中大相关推荐
- CCF计算机软件能力认证试题练习:201909-2 小明种苹果(续)
小明种苹果(续) 来源:CCF 标签: 参考资料: 相似题目: 题目 小明在他的果园里种了一些苹果树,这些苹果树排列成一个圆.为了保证苹果的品质,在种植过程中要进行疏果操作.为了更及时地完成疏果操作, ...
- CCF计算机软件能力认证试题练习:201803-2 碰撞的小球
碰撞的小球 来源:CCF 标签: 参考资料: 相似题目: 题目 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上, ...
- CCF计算机软件能力认证试题练习:201809-2 买菜
买菜 来源:CCF 标签: 参考资料: 相似题目: 题目 小H和小W来到了一条街上,两人分开买菜,他们买菜的过程可以描述为,去店里买一些菜然后去旁边的一个广场把菜装上车,两人都要买n种菜,所以也都要装 ...
- CCF计算机软件能力认证试题练习:201609-3 炉石传说
炉石传说 来源:CCF 标签: 参考资料: 相似题目: 题目 <炉石传说:魔兽英雄传>(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集 ...
- CCF计算机软件能力认证试题练习:201803-4 棋局评估
棋局评估 来源:CCF 标签: 参考资料: 相似题目: 题目 Alice和Bob正在玩井字棋游戏. 井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是"X", ...
- CCF计算机软件能力认证试题练习:201912-3 化学方程式
化学方程式 来源:CCF 标签: 参考资料: 相似题目: 题目 化学方程式,也称为化学反应方程式,是用化学式表示化学反应的式子.给出一组化学方程式,请你编写程序判断每个方程式是否配平(也就是方程式中等 ...
- CCF计算机软件能力认证试题练习:201612-2 工资计算
工资计算 来源: 标签: 参考资料: 相似题目: 题目 小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资.假设他一个月的税前工资(扣除五险一金后.未扣税前的工资)为S元,则他应 ...
- CCF计算机软件能力认证试题练习:201712-3 Crontab
Crontab 来源: 标签: 参考资料: 相似题目: 题目 输入 输出 输入样例 3 201711170032 201711222352 0 7 * * 1,3-5 get_up 30 23 * * ...
- CCF计算机软件能力认证试题练习:201512-2 消除类游戏
消除类游戏 来源: 标签: 参考资料: 相似题目: 题目 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有 ...
最新文章
- 《包容的智慧》读后感-包容有多少,拥有就有多少
- LightOJ-1028 Trailing Zeroes (I)---因子数目
- ubuntu~快捷键
- 线段树segment_tree go语言实现
- SAP UI5 webIDE good build and bad build
- HDU 1875 畅通工程再续
- SSM:Spring整合MyBatis框架时出现 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManaged
- Tokyo Tyrant基本规范(1)--介绍和安装
- 763. 划分字母区间(JavaScript)
- 现在去做自动化测试开发了
- web系统找回密码流程
- rubygems 安装mysql时出错_Ruby gem install mysql 错误解决
- 何如添加到将文章添加到首页
- Linux平台开源浏览器
- 自锁时间电路plc_自锁与互锁电路的plc梯形图程序【图】
- 个人资料管理经验总结
- 日订单超1000万,美团外卖是如何设计广告推送系统的?
- 广州大学数据结构实验一
- 利用Javascript制作宾果(BINGO)游戏
- Uninformed Students: Student–Teacher Anomaly Detection with Discriminative Latent Embeddings(翻译)