第十五届 ste m a 选拔赛 C++ 中高级试卷
202 403 10
1: 的 结果 是 () 。
A.
B .
C .
D .
备 注:此题 目下标代表进制。
参 考答案: B
2: 表达式 1 000/3 的结果是 () 。
A.
B .
C .
D .
参 考答案: A
3: 下列选项中 ,判断 等 于 并 且 等 于 正 确的 表达式 是 () 。
A.
B .
C .
D .
参 考答案: B
4: 定义 ch ar a []= "H is n am e is J a ck " , 请问 siz eo f(a ) 的 结果 是 () 。
A.
B .
C .
D .
参 考答案: D
5: 定义 in t a []= {5 ,1 ,3 ,8 ,2 ,9 ,0 ,6 } , * p= (a + 3) , 那么 ((* p)-- + * p ) 的 值是 () 。
A.
B .
C .
D .
参 考答案: C
编程题:
1.
时 间限制: 1000M S
内 存限制: 65536K B
题 目描述
编程实现: 寒假期间小明需要做完 张试卷,但 他每天最多能做完 张,请计算 出
小明做完 张试卷最少 需要多少天?
输 入描述
一行输入两 个整数 和 ( , ),分别表 示要完成的试卷张
数,及每天 最多能做完的试卷张数,整数之间以一个空格隔开。
输出描述
输出一个整 数,表示小明最少多少天能做完 张 试卷。
样 例输入
题 解
解1
解答 2
10 3 1
4 1
#in clude <bits/st dc++.h>
usi ng n am espac e std ;
int mai n () {
int n, m;
cin >> n >> m;
cou t << ( n + m - 1) / m;
ret urn 0;
}
1
2
3
4
5
6
7
8
9
2.
时 间限制: 1000M S
内 存限制: 65536K B
题 目描述 :
编程实现: 给定两个整数 , ,请统计 到 之间(包含 和 )有多少个 包含数字
的回文数。
例如: , , 到 之间的回文 数有 、 、 、 、 、 、 、 、 、
、 ,其中有 个回文数包 含 ( 和 )。
输 入描述
一行输入两 个整数 和 ( ),整数之 间以一个空格隔开。
输 出描述
输出一个整 数,表示 到 之间(包含 和 )包含数字 的回文数的 个数。
#in clude <iostream>
usi ng n am espac e std ;
int mai n () {
int n, m;
cin >> n >> m;
cou t << ( n / m) + ( n % m != 0) << end l ;
ret urn 0;
}
1
2
3
4
5
6
7
8
9
样例输入
题 解
6 80 1
2 1
# in clude <iostream>
usi ng n am espac e std ;
// 判断整数 n 是否为回 文数
boo l isP al (i nt n) {
int ori = n, rev ersed = 0;
// 将整数 n 翻转
whi le ( n > 0) {
rer = rer * 10 + n % 10 ; // 反转后的 数
n /= 10 ; // 去掉已经 翻转的最 后一位
}
// 判断翻转 后的数是 否与原数相同
ret urn r er == ori ;
}
// 检查整数 n 是否包含 数字 7
boo l has Seven (i nt n) {
whi le ( n > 0) {
if ( n % 10 == 7) ret urn t ru e ; // 发现数字 7
n /= 10 ; // 继续检查 下一位
}
ret urn f al se ; // 没有发现 数字 7
}
int mai n () {
int a, b, cou nt = 0; // 定义变量 ( a 起始数 , b 结束数, count 为
计数器 )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
3.
时 间限制: 1000M S
内 存限制: 65536K B
提 示信息 :
ABB 形式的 字符串:是由 3 个字符组成,其中后两个字符相同,第一个字符与后
两 个字符不 同。
如:" c b b" 、 "q 22" 、 "6 88" 都是 A BB 形式的字符串;
" a b c" 、 "w we" 、 "p op" 都不是 A BB 形式的字符串。
子 串:是指 一个字符串中连续的一段字符序列。
如 :字符串 “H ello ,W orld !"
中 , "H ell o " 、 "e llo " 、 "W orld " 、 "o r" 都是该字符串的子串。
题 目描述
给定一个字 符串 S ,请统计 S 中有多少个 ABB 形式的子串, 以及多少种 ABB 形式
的 子串。
例如: S= “n nnse eb beto ose e” , ABB 形式的子串有 se e 、 e b b 、 to o 、 se e, 共 4 个;不
同 子串有 se e 、 eb b 、 to o, 共 3 种。
输 描述
// 输入 a 和 b
cin >> a >> b;
// 循环从 a 到 b
for ( int i = a; i <= b; i++ ) {
// 检查 i 是否为回文数 且包含数字 7
if ( isP al (i) && has Seven (i) ) {
cou nt + + ; // 如果是, 计数器加 1
}
}
cou t << cou nt < < end l ;
ret urn 0;
}
2 7
28
29
30
31
32
33
34
35
36
37
38
输入描述
输入一个长 度不超过 100 的字符串 S
输出描述
输出两个整 数,分别表示 S 中有多少个 ABB 形式的子串,以及多少种 ABB 形式的
子 串,整数 之间以一个空格隔开
样 例
参考答案
nnn seebb etoosee 1
4 3 1
#i
第十五届stema选拔赛C++中高级试卷20240310,第15届蓝桥杯青少组stema选拔赛C++中高级真题答案