A.
B.
C.
D.
A.
B.
C.
D.
A.
B.
C.
D.
A.
B.
C.
D. 第
14 届蓝桥杯 C++青少组中 /高级组选拔赛 (STEMA)2022 年12 月18 日真
题
题目总数: 10
总分数:208
一、选择题
第 1 题
单选题
执行 cout<<5*3; 语句后,输出的结果是(
)。
0
15
125
2
第 2 题
单选题
下列选项中,按照数据类型的字节长度从小到大排序正确的是(
)。
char ,long long ,float
char ,float ,long long
long long ,float ,char
float ,long long ,char
第 3 题
单选题
下列表达式结果为 true的是(
)。
'z' == 'Z'
'z' < 'Z'
'9' > 'Z'
'c' +1> 'D'
第 4 题
单选题
下列选项中,对二维数组 a初始化不正确的是(
)。
int a[2][3]={{1,2,3},{4,5,6}} ;
int a[2][3]={{1,2},{3}} ;
int a[2][3]={1,2,3,4,5,6} ;
int a[2][3]={{1,2},{3,4},{5,6}} ;
第 5 题 单选题
A.
B.
C.
D.
定义
int a[5], *p = a; 则对a数组元素的正确引用是(
)。
*&a [5]
a +2
*(p+5)
*(p+2)
二、编程题
第 6 题
问答题
求位数
题目描述:
给定一个正整数 N( 1<N<10 ),输出N为几位数。
输入描述:
输入一个正整数 N( 1<N<10 )
输出描述:
输出一个整数,表示 N为几位数
样例输入:
样例输出:
第 7 题
问答题
字符反转
题目描述:
给定一个只包含大写字母 “M”和“W” 的字符串(字符串长度小于 100),然后对字符串中位置为偶数的字符进行
反转( M反转为 W, W反转为 M;字符串中左边第 1个字符位置为 1)。
例如:原字符串为 “WMMW”,反转后为 “WWMM”
输入描述:
输入一个只包含大写字符 “M”和“W” 的字符串(字符串长度小于 100)
输出描述:
输出一个字符串,表示对原字符串中位置为偶数的字符反转后的字符串
样例输入:
样例输出: 8
8
15
2
WMMW
第 8 题 问答题
排名
题目描述:
某比赛有 N( 2≤N≤50 )名选手参加,给定每名参赛选手的编号( 1到 N)和比赛得分( 0≤得分 ≤100) ,请按照分
数从高到低的顺序排序,如果分数相同就按照编号排序,编号小的排前边。
输入描述:
第一行输入一个正整数 N( 2≤N≤50 ),表示参赛人数
第二行开始,共输入 N行,每行两个正整数,分别表示参赛选手的编号和比赛得分( 0≤得分 ≤100 ),正整数之
间以一个空格隔开
输出描述:
按照排序规则,输出 N行,每行两个正整数,分别表示编号和得分,正整数之间以一个空格隔开
样例输入:
样例输出:
第 9 题
问答题
充电站
题目描述:
一条笔直的公路沿途有 N( 2≤N≤100 )个充电站,包含起点和终点各一个。小明驾驶电动汽车要从公路的起点
到达终点。
已知电动汽车充满电后可行驶的里程数 D( 10≤D≤10000 ),及N个充电站每相邻的两个充电站之间的距离,并
且小明在起点第一次给电动汽车充满电。请帮助小明计算出最少充电几次才能从起点到达终点(需包含起点的
第一次充电)。
注意:
1 )到达终点后不需要再充电;
2 )每次充电都要充满。
WWMM
3
3 84
1 87
2 84
1 87
2 84
3 84
例如:D = 10 ,N = 7 ,7个充电站之间的距离依次为 1, 3, 6, 8, 1, 4,最少需要充电 3次。
第一次充电在起点(第 1个充电站);
第二次充电在第 4个充电站(此时行驶里程为 10,刚好电量耗尽);
第三次充电在第 6个充电站(此时在第二次充满电后行驶了 9,剩余电量只能行驶 1,距离下一充电站的距离为
4 ,所以必须在此充电站充电)。
输入描述:
第一行输入两个正整数 D( 10≤D≤10000 )和N( 2≤N≤100 ),分别表示电动汽车充满电后可行驶的里程数和公
路沿途充电站的个数,正整数之间以一个空格隔开
第二行输入 N-1个正整数( 1≤正整数 ≤100000 ),依次表示相邻两个充电站之间的距离,正整数之间以一个空
格隔开
输出描述:
输出一个整数,表示电动汽车从公路的起点到达终点最少充电的次数,如果不能到达终点输出 -1(需包含起点
的第一次充电)。
样例输入:
样例输出:
第 10 题
问答题
猴子拿桃
题目描述:
有 N筐桃子从左到右排成一排,已知每筐桃子的数量。现猴子要按照以下规则拿取桃子:
1 )猴子每次拿一筐桃子,一共要拿 K次桃子;
2 )猴子只能按照从左到右的顺序拿取桃子,不能回头,且每次拿取桃子的数量不能少于(大于等于)上一
次。
当给定桃子筐数 N( 1≤N≤12 )及每筐桃子的数量,和要拿取桃子的次数 K( 1≤K≤N ),请编写程序,如果有符
合规则的拿取方式,输出猴子最多可以拿到的桃子数量,否则输出 0。
例如:
N = 4 ,4筐桃子的数量从左到右依次为 16,12 ,16 ,17 ;
K=3 ,猴子一共要拿 3次桃子,符合规则的拿取方式有: [16,16,17],[12,16,17] ;
其中可拿取到最多桃子的方式是: [16,16,17],合计为49。则猴子最多可以拿到 49个桃子。
输入描述:
第一行输入两个正整数 N和 K( 1≤N≤12 ,1≤K≤N ),分别表示桃子的筐数和一共要拿取桃子的次数,正整数之
间以一个空格隔开
第14届蓝桥杯C++青少组中_高级组选拔赛(STEMA)2022年12月18日真题,第14届蓝桥杯青少组STEM考试C++真题 2022年12月