公元2900年,地球文明遭遇前所未有的困境
全球气候变暖,水资源短缺,能源衰竭都制约人类的持续发展
联合政府决定入侵"半人马座三星"
目前距离太阳系最近的行星系是“半人马座三星”,该行星系内有三颗恒星,其中比邻星距离我们最近只有4.22光年。
现在发现半人马星系的n个行星,并依次给出了每个行星的质量,注意行星的质量可能很大。
科学家想要研究这n颗行星是否适合人类居住,不过科学研究往往从最基本的分类数据来分析,现在科二学家需要统计如下数据:
第1大、第3大第n大行星的总质量,请你帮忙计算。
数据保障n是奇数
输入格式
第1行,一个整数n,表示有n个行星(n<1e4)
第2行,n个以空格分隔的数字(每个数字<1e19)
输出格式
一个数字,表示总质量
限制
空间限制:128MByte
时间限制:1秒
样例
输入
5
1 3 2 4 5
输出
9
请问这个应该如何实现
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-link 2022-04-04 14:08关注
就是计算最大值,最小值和第三大值。定义四个变量,分别表示第一、第二、第三和最小值。循环输入的时候逐个比较
#include <stdio.h> int main() { int n,i; long long max1,max2,max3,min,m; max1 = max2 = max3 = min = 0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%lld",&m); if(i==0) { max1 = m; min = m; } else { if(m>max1) { max3 = max2; max2 = max1; max1 = m; } else if(m>max2 && i>1) { max3 = max2; max2 = m; } else if(m>max3 && i>2) max3 = m; if(m < min) min = m; } } printf("%lld",max1+max3+min); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 matlab中使用gurobi时报错
- ¥15 WPF 大屏看板表格背景图片设置
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂