乐于分享
好东西不私藏

信息素养复赛真题(小学答案)

信息素养复赛真题(小学答案)

一、单选题(5题,每题 4 分, 20 分

1题

红军通信员正在编写一套敌情分析程序,他需要定义一个变量来专门记录"敌军所在的区域代号(仅使用单个大写字母,如'A''B''C'表示)"。以下定义最合适的是?( )

·A. int position;

·B. double position;

·C. char position;

·D. long long position;

【答案】C

2题

"飞夺泸定桥"战斗中,22名突击队员分成若干小组。执行代码cout << 22 / 4 + 22 % 4;后,输出的结果是?( )

·A. 5

·B. 2

·C. 7

·D. 8

【答案】C

3题

大生产运动中,开荒面积 land必须大于10亩且小于50亩才是"标准示范田"。以下能正确表示该条件的C++表达式是?( )

·A. 10 < land < 50

·B. land > 10 && land < 50

·C. land > 10 || land < 50

·D. land > 10, land < 50

【答案】B

4题

红军过草地时,指南针是唯一的方向保障。如果变量 angle代表方位角,执行if (angle = 0) cout << "North"; else cout << "Unknown";后的输出结果是?( )

·A. North

·B. Unknown

·C. 0

·D.报错,无法运行

【答案】B

5题

炊事班要给战士们分发干粮,只要"粮袋里还有粮食(变量food > 0",就一直分发。这种场景最适合使用?( )

·A. continue语句

·B. while循环

·C. if单分支

·D. switch语句

【答案】B

二、多选题(每题 6 分,共 30 分)

1题

在敌后根据地,若情报等级 score达到90分以上(含),或者带有"特急"标志(char flag = 'S'),则定义为"绝密情报"。以下判断逻辑正确的有?( )

·A. score >= 90 || flag == 'S'

·B. !(score < 90) || flag == 'S'

·C. score > 89 && flag == 'S'

·D. score > 90 || flag == 'S'

【答案】AB

2题

红军某班有 5名战士,身高记录在int height[5] = {165, 170, 172, 168, 175};中。下列说法错误的有?( )

·A. height[0]的值是165

·B. height[5]是最后一名战士的身高。

·C.执行height[1] += 2;后,height[1]变为172

·D.数组的下标范围是从15

【答案】BD

3题

为了练习投弹技术,小战士每天进行 5轮投掷。以下for循环能准确执行5次的有?( )

·A. for(int i = 1; i <= 5; i++)

·B. for(int i = 0; i < 5; i++)

·C. for(int i = 5; i >= 1; i--)

·D. for(int i = 0; i <= 5; i++)

【答案】ABC

4题

长征途中,班长需要把 n个馒头平均分给mm > 1, n >= m)个战士。若要判断馒头是否能正好分完(没有余数),下列逻辑正确的有?( )

·A. n % m == 0

·B. n / m * m == n

·C. n % m != 1

·D. !(n % m)

【答案】ABD

5题

在抗日游击战中,战士们在山路上布置了 10个陷阱。代码用于计算陷阱捕获敌人的总数。当遇到陷阱被彻底破坏(用-99表示)时,停止后续所有计数。此外,如果有陷阱被野兽误触发(用-1表示),不仅该陷阱无法捕获敌人,还会导致紧挨着它的下一个陷阱失效(捕获数变为0)。请阅读以下C++代码,关于程序的最终运行结果,下列说法正确的有?( )

【代码】

#include <iostream>using namespace std;int main() {    int total = 0;        // 捕获敌人总数    int valid_traps = 0;  // 成功捕获到敌人的陷阱个数    // 数组记录每个陷阱的初始状态    int traps[10] = {2, 3, -1, 5, 0, -99, 4, 1, 2, 3};    for (int i = 0; i < 10; i++) {        if (traps[i] == -99) {            break;        }        if (traps[i] == -1) {            traps[i + 1] = 0; // 导致下一个相邻的陷阱失效            continue;        }        if (traps[i] > 0) {            total += traps[i];            valid_traps++;        }    }    // 省略输出语句...    return 0;}

·A.程序最终计算出捕获敌人的总数(total)5

·B.程序运行结束后,成功捕获到敌人的陷阱个数(valid_traps)3

·C.代码执行过程中,数组元素traps[3]的值被修改为了0

·D.遇到break跳出循环时,循环变量i的值为5

【答案】ACD

三、编程题(每题 12.5 分,共 50 分)

1题:招募统计

【题目描述】

某团进行招募,如果报名的青年身高 h 大于等于 170 厘米,输出 Qualified;否则输出 Keep trying。

【输入格式】

第一行一个整数 n,表示报名人数。第二行 n 个整数,表示每个人的身高,以空格间隔。

【输出格式】

 n 行,每行输出一个字符串,表示对应青年的考核结果。

【数据范围】

1 ≤ n ≤ 1000,150 ≤ h ≤ 200

2题:情报站

【题目描述】

地下党建立了编号从 A 到 B 的秘密联络站。只有编号是 7 的倍数,且编号是奇数的站点才是安全的。请统计范围 [A,B] 内安全站点的数量。

【输入格式】

第一行两个整数 A 和 B。

【输出格式】

输出一个整数表示安全站点的数量。

【数据范围】

1 ≤ A ≤ B ≤ 10^7

3题:密信解析

【题目描述】

红军的一份密信由一串小写字母组成。解析规则如下:• 忽略所有的元音字母(a, e, i, o, u)。• 在剩下的每个辅音字母前加上一个点号 "."。• 将剩下的所有辅音字母转为大写。请输出解析后的密信。

【输入格式】

一个长度不超过 100 的字符串。

【输出格式】

解析后的字符串。(保证输出不为空)

【数据范围】

1 ≤ 字符串长度 ≤ 100

4题:突击期的最大里程

【题目描述】

长征途中,为了在保存红军体力的同时加快战略转移,指挥部决定设立一个为期 W 天的"战略突击期"。由于翻雪山、过草地地形复杂,完全强求每天匀速行军是不现实的。指挥部制定了严格的评估标准:在这连续的 W 天内(包含 W-1 次相邻的天数过渡),任何相邻两天的行军里程差的绝对值都不能超过 D 公里。如果有任意相邻两天的差值严格大于 D,则会发生"剧烈颠簸",该 W 天的突击期将被视为不合格。请你编写程序,在给定的 N 天行军记录中,找出所有合格的"战略突击期",并计算在这些合法的突击期中,这 W 天的行军总里程最大是多少。如果没有找到任何一个合格的突击期,则输出 -1。

【输入格式】

第一行包含三个正整数 N, W, D,分别表示总记录天数、突击期的天数要求,以及相邻两天的最大允许里程差。第二行包含 N 个非负整数 a1, a2, ..., aN,表示这 N 天里每天的行军里程。

【输出格式】

输出一个整数,表示在所有合格的"战略突击期"中,这 W 天的行军总里程的最大值。如果没有合格的突击期,输出 -1。

【数据范围】

对于40%的数据,1 ≤ W ≤ N ≤ 2000。对于100%的数据,1 ≤ W ≤ N ≤ 10^5,0 ≤ D ≤ 10^9。每天的行军里程 0 ≤ ai ≤ 10^9。

感谢您抽出

.

.

来阅读本文

往/期/回/顾

REVIEW

信息素养初赛注意事项
信息素养复赛知识点
信息素养小学组复赛模拟题 1