试卷总分:100分


选择题 5题 10分

01 02 03 04 05


多选题 5题 20分

10 11 12 13 14


编程题 4题 70分

06 07 08 09

E982 全国青少年信息素养大赛 -算法应用 星火征途 C++ 小学组 复赛模拟题1-考试

选择题 共5道

01 红军小分队连夜急行军,以每天30公里的速度在草地行军了3天。通讯员用C++表达式 30 * 3 计算总里程,得出结果是多少? 2分
登录后查看选项
02 小英雄雨来为了掩护交通员李大叔,需要在村里的5个秘密掩体之间转移。如果用C++数组 int hideouts[5]; 来模拟存储这5个掩体的编号,该数组合法的最大下标是多少? 2分
登录后查看选项
03

井冈山斗争时期,红军通信员为了防备敌人截获,将秘密口令分成了两段传递。请观察以下C++密码拼接程序,电报机的屏幕上最终会输出什么情报内容?

string s1="星火";
string s2="燎原";
cout << s1 + s2;
2分
登录后查看选项
04

1935年长征途中,为防敌军无线电测向台测定我军位置,红军对电台发报有着极其严格的纪律。假设你正在编写发报机的控制程序,现有三个布尔(bool)变量代表当前状态:

has_intel:是否截获紧急情报

has_order:首长是否下达发报命令

enemy_listening:敌军测向台是否正在侦听

【核心军规】 只有满足条件:“(有紧急情报 或 首长下令) 且 (敌军测向台未侦听)”,才允许启动发报。

下列哪段 C++ 代码能正确实现这条严格的判断逻辑?

2分
登录后查看选项
05 延安大生产运动时期,发扬自力更生精神的八路军战士收成了7筐南瓜,准备平分给2个有困难的军属家庭。在C++后勤分配程序中:int a = 7; int b = 2;,因为必须按“整筐”分配,请问代表每家分得南瓜筐数的表达式 a / b 结果是? 2分
登录后查看选项

多选题 共5道

10  (多选)红军长征是一次连续不断的伟大远征。指挥部研发“红色任务模拟器”时,使用C++中的数组来记录每天的行军里程。关于数组的特性,以下说法正确的是? 4分
登录后查看选项
11

 (多选)“红军不怕远征难,万水千山只等闲。” 二万五千里的长征奇迹,是红军战士用双脚一步一步走出来的。不积跬步,无以至千里。假设我们需要编写一个程序来记录红军战士的行军步数,定义了整型变量 int step = 0;。

为了记录新走的一步,我们需要让变量 step 的值增加 1。请问下列哪些 C++ 代码可以实现这一目标?

4分
登录后查看选项
12  (多选)长征过草地时,红军各连队为了防备敌人偷袭,设定了复杂的夜间口令。C++“红色战术系统”用 string 变量来校验这些口令。以下关于口令字符串的语法,符合C++规定的是? 4分
登录后查看选项
13  (多选)延安大生产运动中,八路军战士发扬自力更生精神,收获了5筐小米(int a = 5;),准备尽量平均分给前线的2个突击班(int b = 2;)。在C++后勤分配程序中评估下列条件,哪些结果为真(true)? 4分
登录后查看选项
14  (多选)“重走长征路”C++模拟器使用 for 和 while 循环来还原红军的艰苦跋涉。关于这两种循环,以下说法正确的是? 4分
登录后查看选项

编程题 共4道

06

粮草先行

题目描述

“兵马未动,粮草先行。”

长征途中,红军严格遵守“三大纪律八项注意”,在聘请老乡帮忙运输物资时,坚持买卖公平,绝不亏待群众。后勤部制定了一套标准的运费结算规则:

运费计算规则,为了合理分配体力与报酬:

  • 基础运费:物资重量在 3 千克以内(含 3 千克),属于标准负重,统一支付 10 元(银元)。
  • 超重补贴:如果物资超过 3 千克,超过的部分每 1 千克加收 3 元的辛苦费。

输入一个整数 W 代表物资的重量,请编写程序帮助司务长计算并输出应支付的总运费。

输入

一个整数 W(表示重量)。

输出

一个整数(表示总运费)。

数据范围

1≤W≤10^4

输入样例1

2

输出样例1

10

输入样例2

3

输出样例2

10

输入样例3

5

输出样例3

16


15分
登录后作答
07

走出草地

题目描述

“风雨浸衣骨更硬,野菜充饥志越坚。”

红军长征过草地时,补给极其困难。每位战士身上的干粮(N)是走出草地的关键。

假设行军非常艰苦,消耗量随着体力的下降每天都在增加:

第 1 天行军消耗 1 份干粮;

第 2 天行军消耗 2 份干粮;

第 3 天行军消耗 3 份干粮……

以此类推,第 i 天需要消耗 i 份干粮。

每天清晨,战士会检查袋子里的剩余干粮。如果剩余量足够支付当天的消耗(即 N≥i),则继续坚持行军;如果不够,则意味着弹尽粮绝,必须等待救援。

输入一个整数 N,请计算战士靠这些干粮最多能完整行军多少天。

输入

一个整数 N(初始干粮总数)。

输出

一个整数(完整行军的天数)。

数据范围

1≤N≤10^9

输入样例1

7

输出样例1

3

输入样例2

10

输出样例2

4

输入样例3

100000

输出样例3

446


15分
登录后作答
08

决胜千里

题目描述

“红军的眼睛和耳朵,决胜于千里之外。”

在长征途中,红军的无线电侦察台屡建奇功。他们夜以继日地监听敌人的电台信号,从嘈杂的电波中捕捉关键情报。

假设侦察员小李记录下了敌军电台的 n 次信号强度数据。为了分析敌军电台的发射规律,我们需要计算这些信号强度的极差(即:最强信号与最弱信号的差值)。

输入一个正整数 n,随后输入 n 个代表信号强度的正整数。请编程找出其中的最大值和最小值,并输出它们的差。

输入

第一行:一个正整数 n(1≤n≤100)。

第二行:n 个正整数(信号强度),用空格隔开。

输出

一个整数(最大值减去最小值的差)。

数据范围

输入数据总数不超过 100 个。

信号强度范围为 1≤强度值≤1000。

输入样例1

3

1 4 7

输出样例1

6

输入样例2

5

1 3 4 9 2

输出样例2

8

输入样例3

5

7 7 7 7 7

输出样例3

5


20分
登录后作答
09

物资统计

题目描述

解放战争时期,军民团结一心。前线指挥部正在评选支援前线的模范队,需要统计各小队运送的粮食总量(单位:斤)。由于敌军的无线电干扰,接收到的电报数据掺杂了乱码噪点,用字符 # 表示。

作为通讯员,请你编写程序,发扬一丝不苟的作风,剔除电文中的噪点 #,并找出运送物资数量最多的小队。

输入

第一行,一个正整数n,表示小队的数量;

接下来n行,每一行给出一个小队的代号与物资数量,中间用一个空格隔开。代号与物资数量均不包含空格,物资数目有可能包含 #,除此之外都由数字组成,且无前导零或小数点。

输出

输出物资运送总量最多的小队的代号,以及相应的物资实际数量。若有多个小队物资数量并列最大,输出顺序靠前的小队代号。

数据范围

100%数据:1≤n≤100000

名字的长度不超过100

输入样例1

2

ab 123#0987#123

abc 122489720

输出样例1

ab 1230987123

输入样例2

4

TeamYanAn 8#8#4#8

TeamJingGang 88#4#8

TeamZunYi 884#7

TeamXiBaiPo 88#48###

输出样例2

TeamYanAn 8848

输入样例3

3

XuzhouMilitia 9#999999#9999999#9999

LinyiMilitia 1#0000000000000#000000

SuxianMilitia 99#99999999#99999#999

输出样例3

LinyiMilitia 10000000000000000000


20分
登录后作答