A.
B.
C.
D.
答案
A.
B.
C.
D.
答案
A.
B.
C.
D.
答案
第
14 届蓝桥杯 C++青少组中 /高级组选拔赛 (STEMA)2022 年11 月27 日真
题
题目总数: 10
总分数:208
一、选择题
第 1 题
单选题
执行 cout << 5 / 3; 语句后,输出的结果是 (
)。
0
1
2
3
B
第 2 题
单选题
执行以下代码,输出的结果是 (
)。
char a[6] = {'a', 'b', 'c', 'd'};
cout << sizeof(a); 4
6
8
12
B
第 3 题
单选题
关于 C++中的一维数组,以下描述正确的是 (
)。
数组中的元素类型可以不相同
数组在内存中有一段连续的单元
数组中的最后一个元素的下标(索引)为 -1
静态数组中的元素的个数可以大于数组初始时设定的长度
B
A.
B.
C.
D.
答案
A.
B.
C.
D.
答案
第
4 题
单选题
以下关于 while 和 do...while 循环语句描述不正确的是 (
)。
do...while 的循环条件可以是 1
while 的循环体可以是复合语句
do...while 的循环体至少执行一次
执行 do...while 语句,首先判断循环条件,当满足循环条件,开始执行循环体中的语句
D
第 5 题
单选题
已知: int a, b = 5, *p = &a ,下列表达式哪一个可以将 b 赋值给 a ?(
)。
*p = *&b;
a = *p;
a = &b;
a = **p;
A
二、编程题
第 6 题
问答题
切割蛋糕
【题目描述】
有一块矩形蛋糕,小明从蛋糕的正上方横向和纵向各切 N 刀( 1 < N < 100 ),每刀互不重合。计算出蛋糕被
切割成了几块。
例如: N = 2,蛋糕被切割成 9 块。
【输入格式】
输入一个正整数 N(1 < N < 100 ),表示蛋糕被横向和纵向各切割的刀数。
【输出格式】
输出一个整数,表示蛋糕最后被切割成了几块。
【输入样例 1】
2
答案
解析
【输出样例
1】
评分标准:
4 分:能正确输出第一组数据;
4 分:能正确输出第二组数据;
5 分:能正确输出第三组数据;
5 分:能正确输出第四组数据。
第 7 题
问答题
拼写单词
【题目描述】
四种水果的英文单词,分别为 Apple、Banana 、Orange 、Pear 。老师通过提示每个单词的首字母,让同学将
对应的单词拼写下来。
请编写程序:
当输入的大写字母为 "A" 时,则输出 "Apple";
当输入的大写字母为 "B" 时,则输出 "Banana";
当输入的大写字母为 "O" 时,则输出 "Orange";
当输入的大写字母为 "P" 时,则输出 "Pear"。
9
// 参 考 代 码 1
#include <iostream>
using namespace std;
int main () {
int n, m;
cin >> n;
m = (n + 1) * (n + 1);
cout << m;
return 0;
}
1
2
3
4
5
6
7
8
9
10
// 参 考 代 码 2
#include <bits/stdc++.h>
using namespace std;
int main () {
int n;
cin >> n;
cout << ( int)pow (n + 1, 2);
return 0;
}
1
2
3
4
5
6
7
8
9
答案
【输入格式】
输入 A、B、 O、 P 中任意一个大写字母。
【输出格式】
输出一个字符串,表示大写字母对应的英文单词(单词首字母大写)。
【输入样例 1】
【输出样例 1】
A
Apple
// 参 考 代 码 1
#include <iostream>
using namespace std;
int main () {
char c;
cin >> c;
if (c == 'A') {
cout << "Apple";
}
if (c == 'B') {
cout << "Banana";
}
if (c == 'O') {
cout << "Orange";
}
if (c == 'P') {
cout << "Pear";
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 参 考 代 码 2
#include <iostream>
using namespace std;
int main () {
char a;
cin >> a;
if (a == 'A') {
cout << "Apple";
} else if (a == 'B') {
cout << "Banana";
} else if (a == 'O') {
cout << "Orange";
} else {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
解析
评分标准:
4 分:能正确输出第一组数据;
4 分:能正确输出第二组数据;
5 分:能正确输出第三组数据;
5 分:能正确输出第四组数据。
第 8 题
问答题
业务办理时间
【题目描述】
某服务大厅同时开放 3个窗口为客户办理业务,窗口编号分别为 1、 2、 3。
现有 N( 2≤N≤50 )位客户需要办理业务,客户编号为 1~N,作为办理业务的先后顺序。
起初三个窗口为空闲状态,空闲的窗口会按照客户编号顺序呼叫下一位客户。如果多个窗口同时为空闲状态,
按照窗口编号顺序呼叫( 1优先于 2, 2优先于 3)。
现给出每位客户办理业务的时间(单位:分钟),请计算出 N位客户全部办理完业务后,哪一个窗口合计办理
业务的时间最短,并输出最短时间。
例如: N=7,7位客户编号分别为 1、 2、 3、 4、 5、 6、 7,客户办理业务时间分别为 3、 5
第14届蓝桥杯C++青少组中_高级组选拔赛(STEMA)2022年11月27日真题-附答案,第14届蓝桥杯青少组STEM考试C++真题及答案 2022年11月