万卷网> 信息素养大赛 >C++编程挑战赛 > 2025年全国青少年信息素养大赛C++编程践挑战赛_复赛_模拟题

2025年全国青少年信息素养大赛C++编程践挑战赛_复赛_模拟题
复赛 模拟 其他 2025 2025-07-10 15:44:29 79

一、单选题

1.

一个 int 类型的值,做以下哪个操作,一定会变回原来的值?( )

A.

左移 3 位,再右移 3 位

B.

右移 3 位,再左移 3 位

C.

按位或 7,再按位与-8

D.

按位异或 7,再按位异或 7

2.

下列C++语句执行以后结果是true的是( )

A.

3&&false

B.

5&&2

C.

101&&000

D.

4&true

3.

下面逻辑运算中,正确的是( )

A.

5&&3==0

B.

5|3==8

C.

5||3==11

D.

5&3==0001

4.

如果字符串定义为 char str[] = "Hello";,则字符数组 str 的长度为( )

A.

0

B.

5

C.

6

D.

7

5.

下面C++代码最后执行后输出是( )。

A.

4

B.

3

C.

2

D.

1

二、编程题

1.

单位转换

问题描述

小杨这周的数学作业是做单位转换,喜欢编程的小杨决定编程帮他解决这些问题。

小杨只学了长度单位和重量单位,具体来说:

(1)长度单位包括千米( km )、米( m )、毫米( mm ),它们之间的关系是:1km=1000m=1000000 mm。

(2)重量单位包括千克( kg )、克( g )、毫克( mg ),它们之间的关系是:1kg=1000g=1000000mg 。

小杨的作业只涉及将更大的单位转换为更小的单位,也就是说,小杨的作业只会包含如下题型:米转换为毫米,千米转换为毫米,千米转换为米,克转换为毫克,千克转换为毫克,千克转换为克。

现在,请你帮忙完成单位转换的程序。

输入描述

输入的第一行为一个整数 N,表示题目数量。

接下来 N行,每行一个字符串,表示转换单位的题目,格式为 x 单位1 = ? 单位2 。其中, x 为一个不超过1000的非负整数, 单位1 和 单位2 分别为两个单位的英文缩写,保证它们都是长度单位或都是重量单位,且 单位1 比 单位2 更大。

例如,如果题目需要你将1km 转换为 mm,则输入为 1 km = ? mm 。

输出描述

输出N 行,依次输出所有题目的答案,输出时,只需要将输入中的 ? 代入答案,其余部分一字不差地输出即可。由于小杨的题目只涉及将更大的单位转换为更小的单位,并且输入的 x 是整数,因此答案一定也是整数。

例如,如果题目需要你将1km 转换为 mm,输入为 1 km = ? mm ,则你需要输出 1 km = 1000000 mm 。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。输入格式将严格按照题目要求,且你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查。

2.

题面描述

小杨有一个包含n 个数字的序列 A,即A={a1,a2,...,,an} ,他想将其中大于 k的数字都替换为序列的最大值,将其中小于k 的数字都替换为序列的最小值,请你帮他计算出替换后的序列。

输入格式

第一行包含两个正整数 n,k,含义如题面所示。

第二行包含 n个数字,代表序列A 。

输出格式

输出 n个整数,代表替换后的结果。


样例输入

5 0
-2 -1 0 1 2

样例输出

-2 -2 0 2 2

3.

数位之和

题面描述

小杨有 n个正整数,他认为一个正整数是美丽数字当且仅当该正整数每一位数字的总和是7 的倍数。

小杨想请你编写一个程序判断n 个正整数哪些是美丽数字。

输入格式

第一行包含一个正整数n ,代表正整数个数。

之后 n行,每行包含一个正整数。

输出格式

对于每个正整数,如果是美丽数字则输出 Yes,否则输出 No。

7的各位数字之和为7 ,是7 的倍数。52 的各位数字之和为5+2=7 ,是7 的倍数。 103的各位数字之和为1+0+3=4,不是7 的倍数。

对于全部数据,保证有

4.

问题描述

小杨想要构造一个 的 H 字矩阵( N为奇数),具体来说,这个矩阵共有 N行,每行N个字符,其中最左列、最右列都是 | ,而中间一行(即第行)的第2~N-1 个字符都是 - ,其余所有字符都是半角小写字母a 。例如,一个 N=5的 H 字矩阵如下:

请你帮小杨根据给定的 N打印出对应的“H 字矩阵”。

输入描述

一行一个整数 N(

输出描述

输出对应的“H 字矩阵”。

请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出 N行,每行除了换行符外恰好包含 N个字符,这些字符要么是 - ,要么是 | ,要么是 a 。你的输出必须和标准答案完全一致才能得分,请在提交前仔细检查。

特别提醒

在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

5.

题面描述

小杨想要构造一个m×m 的 N 字矩阵( m为奇数),这个矩阵的从左上角到右下角的对角线、第 1列和第m 列都是半角加号 + ,其余都是半角减号 - 。例如,一个5×5 的 N 字矩阵如下:

请你帮小杨根据给定的 m打印出对应的 N 字矩阵。

输入格式

第一行包含一个正整数 m。

输出格式

输出对应的 N 字矩阵。

对于全部数据,保证有3≤m≤ 49 且 m为奇数


公众号
客服 反馈
顶部