周六考试 官方最后一份试卷

四季读书网 1 0
周六考试 官方最后一份试卷

周六考试 官方最后一份试卷-第1张图片-四季读书网

一、单选题

1. 红军小分队连夜行军,以每天30公里的速度在草地行军了3天。通讯员用C++表达式 30 * 3 计算总里程,得出结果是多少?

A. 30

   B. 90

C. 100

D. 120

2. 小英雄雨来为了掩护交通员李大叔,需要在村里的5个秘密掩体之间转移。如果用C++数组 int hideouts[5]; 来模拟存储这5个掩体的编号,该数组合法的最大下标是多少?

A. 6

B. 5

 C. 4

D. 1

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

string s1 = "星火";

string s2 = "燎原";

cout << s1 + s2;

A. 星火燎原

B. "星火""燎原"

C. 燎原星火

D. 报错

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

has_intel: 是否截获紧急情报

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

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

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

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

A. if (has_intel && has_order && !enemy_listening)

B. if (has_intel || has_order && !enemy_listening)

 C. if ((has_intel || has_order) && !enemy_listening)

D. if ((has_intel || has_order) && enemy_listening)

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

A. 3.5

B. 14

C. 4

D. 3

二、多选题

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

 A. 数组可以用来存储一组相同类型的数据集合,例如全部为整数的行军里程数。

  B. 就像红军连绵不断的行军队伍一样,数组元素的内存地址也是连续的。

C. int miles[3] = {30, 40, 50, 60}; 是一句正确的声明,成功记录了4天的里程。

D. 使用数组能够有效减少同类型变量的重复定义,提高总部的统筹效率。

2. (多选)"红军不怕远征难,万水千山只等闲。"二万五千里的长征奇迹,是红军战士用双脚一步一步走出来的。不积跬步,无以至千里。假设我们需要编写一个程序来记录红军战士的行军步数,定义了整型变量 int step = 0;。为了记录新走的一步,我们需要让变量 step 的值增加 1。请问下列哪些C++代码可以实现这一目标?()

A. step++;

B. step = step + 1;

C. step += 1;

D. ++step;

3. (多选)长征过草地时,红军各连队为了防备敌人偷袭,设定了复杂的夜间口令。C++"红色战术系统"用 string 变量来校验这些口令。以下关于口令字符串的语法,符合C++规定的是?

A. 哨兵可以使用 < 或 > 比较两个口令的字典顺序。

B. s[0] 代表获取该夜间口令 s 的首字母。

C. 连长可以通过 s.length() 检查口令的长度是否符合保密规定。

D. 可以使用减号 s1 - s2 从旧口令中减去作废的字符来生成新口令。

4. (多选)延安大生产运动中,八路军战士发扬自力更生精神,收获了5筐小米(int a = 5;),准备尽量平均分给前线的2个突击班(int b = 2;)。在C++后勤分配程序中评估下列条件,哪些结果为真(true)?

A. a + b == 7

B. a / b == 2.5

  C. a % b == 1

  D. a * b == 10

5. (多选)"重走长征路"C++模拟器使用 for 和 while 循环来还原红军的艰苦跋涉。关于这两种循环,以下说法正确的是?

A. 从算法逻辑上看,for 循环都可以等价改写为 while 循环。

B. for 循环通常更适用于提前已知任务次数的场景。

C. while 循环只能判断真假,不能在内部做计数器加减。

D. 它们都可以通过增加判断条件,来控制何时结束循环。

三、编程题

1题 粮草先行

【题目描述】

"兵马未动,粮草先行。"

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

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

• 基础运费:物资重量在 3 千克以内(含 3 千克),属于标准负重,统一支付 10 元(银元)。

• 超重补贴:如果物资超过 3 千克,超过的部分每 1 千克加收 3 元的辛苦费。

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

【输入格式】

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

【输出格式】

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

【输入输出样例#1

输入#1

2

输出#1

10

【输入输出样例#2

输入#2

3

输出#2

10

【输入输出样例#3

输入#3

5

输出#3

16

#include<iostream>using namespace std;intmain(){    int W;    cin >> W;    if (W <= 3) {        cout << 10 << endl;    } else {        cout << 10 + (W - 3) * 3 << endl;    }    return 0;}解析:3千克及以内收费10元;超过3千克的部分,每千克加收3元。

2题 走出草地

【题目描述】

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

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

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

 1 天行军消耗 1 份干粮;

 2 天行军消耗 2 份干粮;

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

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

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

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

【输入格式】

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

【输出格式】

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

【输入输出样例#1

输入#1

7

输出#1

3

【输入输出样例#2

输入#2

10

输出#2

4

【输入输出样例#3

输入#3

100000

输出#3

446

【说明提示】

样例1解释:

 1 天:需要 1 份,剩余 7 份。7 ≥1,足够。消耗后剩 7 - 1 = 6 份。

 2 天:需要 2 份,剩余 6 份。6 ≥2,足够。消耗后剩 6 - 2 = 4 份。

 3 天:需要 3 份,剩余 4 份。4 ≥3,足够。消耗后剩 4 - 3 = 1 份。

 4 天:需要 4 份,剩余 1 份。1 < 4,不够。

结论:只能坚持 3 天。

#include<iostream>using namespace std;intmain(){    int N;    cin >> N;    int day = 0;    int sum = 0;    while (true) {        day++;        sum += day;        if (sum > N) {            day--;            break;        }    }    cout << day << endl;    return 0;}解析:每天消耗量递增(123, ...),累加直到超过 N,则前一天为最大完整行军天数。

3题 信号强度极差

【题目描述】

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

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

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

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

【输入格式】

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

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

【输出格式】

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

【输入输出样例#1

输入#1

3

1 4 7

输出#1

6

【输入输出样例#2

输入#2

5

1 3 4 9 2

输出#2

8

【输入输出样例#3

输入#3

5

7 7 7 7 7

输出#3

0

【数据范围】

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

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

#include<iostream>using namespace std;intmain(){    int n;    cin >> n;    int a[105];    for (int i = 0; i < n; i++) {        cin >> a[i];    }    int mx = a[0], mn = a[0];    for (int i = 1; i < n; i++) {        if (a[i] > mx) mx = a[i];        if (a[i] < mn) mn = a[i];    }    cout << mx - mn << endl;    return 0;}解析:遍历数组找出最大值和最小值,输出两者的差。

4题 物资统计

【题目描述】

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

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

【输入格式】

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

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

【输出格式】

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

【输入输出样例#1

输入#1

2

ab 123#0987#123

abc 1224#89720

输出#1

ab 1230987123

【输入输出样例#2

输入#2

4

TeamYanAn 8#8#4#8

TeamJingGang 88#4#3

TeamZunYi 884#7

TeamXiBaiPo 88#48###

输出#2

TeamYanAn 8848

【输入输出样例#3

输入#3

3

XuzhouMilitia 9#999999#999999#9999

LinyiMilitia 1#000000000000#000000

SuxianMilitia 999#9999999#999999#999

输出#3

LinyiMilitia 10000000000000000000

【数据范围】

特殊性质:

测试点物资数量噪点

40% ≤ 9×10¹⁸       无

30% ≤ 10¹⁰⁰        无

#include<iostream>#include<string>using namespace std;intmain() {    int n;    cin >> n;    string bestName;    string bestNumStr;    for (int i = 0; i < n; i++) {        string name, raw;        cin >> name >> raw;        string numStr = "";        for (char c : raw) {            if (c != '#') numStr += c;        }        if (i == 0 || numStr.length() > bestNumStr.length() ||             (numStr.length() == bestNumStr.length() && numStr > bestNumStr)) {            bestName = name;            bestNumStr = numStr;        }    }    cout << bestName << " " << bestNumStr << endl;    return 0;}解析:读入每行数据,剔除物资数量中的 # 字符,比较处理后数字串的长度(或数值大小),记录最大值对应的小队。注意数据范围可能极大,需用字符串处理大数。

感谢您抽出

周六考试 官方最后一份试卷-第2张图片-四季读书网

.

周六考试 官方最后一份试卷-第3张图片-四季读书网

.

周六考试 官方最后一份试卷-第4张图片-四季读书网

来阅读本文

往/期/回/顾

REVIEW

周六考试 官方最后一份试卷-第5张图片-四季读书网
信息素养复赛C++必考内容
信息素养复赛python必考内容
信息素养复赛知识点
信息素养小学组复赛模拟题 1

抱歉,评论功能暂时关闭!