image

编辑人: 桃花下浅酌

calendar2025-06-02

message6

visits537

第12届蓝桥杯C++青少组中/高级组选拔赛(STEMA)2021年1月24日真题参考答案

一、实操题

1、排序

题目描述:

输入三个正整数,将三个正整数按从小到大排序输出。

输入描述:

输入三个正整数(0<正整数<1000),且正整数之间以一个空格分隔。

输出描述:

将三个正整数按照从小到大排序输出,且正整数之间以一个空格分隔。


样例输入:

15 8 10

样例输出:

8 10 15

参考答案:br />输入三个正整数,将三个正整数按从小到大排序输出。


2、平均值

提示信息:

歌唱比赛中有10名评委。评分规则是:每名评委给出一个0~100之间的分数,然后从10名评委所评分数中,去掉一个最高分,再去掉一个最低分,对剩余分数取平均值作为选手的最终得分。

题目描述:

给定10个评委的评分,然后去掉一个最高分,再去掉一个最低分后,求出剩余分数的平均值,作为选手最终得分。

输入描述:

输入10个正整数(O≤正整数≤100)表示10位评委评分,正整数之间以一个空格分隔。

输出描述:

去掉一个最高分和一个最低分后,求出剩余分数的平均值,作为选手最终得分,并将其输出。  (计算结果保留全部小数位数)


样例输入:

80 85 83 89 98 75 80 90 78 65

样例输出:

82.5

参考答案:```pythonscores = list(map(int, input().split()))max_score = max(scores)min_score = min(scores)valid_scores = [score for score in scores if score != max_score and score != min_score]average_score = sum(valid_scores) / len(valid_scores)print(f"average_score:.2f")```


3、换算

提示信息:

一分钟有60秒,一小时有60分钟。

题目描述:

将秒数转换为与其等价的小时数、分钟数、秒数的表现形式。

小时数、分钟数、秒数的数字之间以英文冒号(:)分隔,且数字小于10的,需要在数字前补0。

例如:500秒等同于8分钟20秒,表现形式为:00:08:20;7259秒等同于2小时0分钟59秒,表现形式为:02:00:59。

输入描述:

输入一个正整数N(N<86400)作为秒数。

输出描述:

输出与其对应的小时数、分钟数、秒数,数字之间以英文冒号分隔。(数字小于10的,需要在数字前补0)


样例输入:

7259

样例输出:

02:00:59

参考答案:将秒数转换为与其等价的小时数、分钟数、秒数的表现形式,输入一个正整数N,输出与其对应的小时数、分钟数、秒数,数字之间以英文冒号分隔,数字小于10的,需要在数字前补0。


4、病毒繁殖

提示信息:

某种病毒具有很强的繁殖能力,从病毒粒子出生后的第5分钟开始,每分钟可以复制出一个新的病毒粒子。新出生的病毒粒子从第5分钟开始,也可以每分钟复制一个新的病毒粒子。

举例来说,第1分钟时有一个病毒粒子,此病毒粒子从第5分钟开始复制新的病毒粒子,因此第5分钟时的病毒数量为2个;第6分钟时又复制出新的病毒粒子,因此第6分钟的病毒数量为3个;以此类推,第7分钟时病毒粒子数为4;第8分钟时病毒粒子数为5;第9分钟时,第5分钟复制出的病毒粒子开始复制新的病毒粒子,因此第9分钟时的病毒总数为7;第10分钟时,第6分钟复制出的病毒粒子开始复制新的病毒粒子,因此第10分钟时的病毒粒子总数为10。

题目描述:

计算病毒粒子总数,已知第一分钟时出生了一个病毒粒子,假设所有病毒粒子不会自动死亡,请计算第N分钟时的病毒粒子总数。

例如:前10分钟病毒粒子的总数分别为1,1,1,1,2,3,4,5,7,10。

输入描述:

输入一个正整数N(O<N≤60),表示时间。

输出描述:

输出第N分钟时,病毒粒子的总数。


样例输入:

10

样例输出

10

参考答案:对于第N分钟时的病毒粒子总数,可以使用等比数列的求和公式来计算。病毒粒子的繁殖从第5分钟开始,所以第N分钟时的病毒粒子总数为等比数列的前(N-4)项和。等比数列的首项为2,公比为2,项数为(N-4),因此可以使用等比数列求和公式:S = a1 * (1 - r^n) / (1 - r),其中a1为首项,r为公比,n为项数。将a1=2,r=2,n=N-4代入公式,即可得到第N分钟时的病毒粒子总数。


5、最佳策略

题目描述:

有一辆最大载重为15吨的货车。现一共有五件货品,重量分别是W1,W2,W3,W4,W5,价值分别是V1,V2,V3,V4,V5。现希望货车中装入的货物总价值越大越好。请你编写程序,帮助计算,在不超载的情况下,货车能够运输的货品最大总价值是多少?

例如,5件货品的重量和价值如下表所示:

输入描述:

第一行输入5个正整数,数字之间以一个空格分隔,表示货品的重量。

第二行输入5个正整数,数字之间以一个空格分隔,表示货品的价值。

输出描述:

计算能够运输的货品最大总价值,并输出。


样例输入:

3 4 6 6 5
1000 500 400 1200 300

样例输出:

2700

参考答案:```pythonweights = list(map(int, input().split()))values = list(map(int, input().split()))max_weight = 15total_weight = 0max_value = 0for i in range(5):if total_weight + weights[i] <= max_weight:total_weight += weights[i]max_value += values[i]else:breakprint(max_value)```


喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:第12届蓝桥杯C++青少组中/高级组选拔赛(STEMA)2021年1月24日真题参考答案

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share