选择题 共5道

01 02 03 04 05


编程题 共4道

06 07 08 09

637 | 第14届蓝桥杯C++青少组中/高级组选拔赛(STEMA)2023年3月12日真题-考试
选择题 共5道
01

执行 cout << '9'*3; 语句后,输出的结果是( )。

2分
登录后查看选项
02

已定义: int a = 02023, b = 0x212; a + b 的值是( )。

2分
登录后查看选项
03

执行以下代码,输出的结果是( )。

  1. #include <iostream>

  2. using namespace std;

  3. int func(int x)

  4. {

  5. if (x <= 4)

  6. return 2 * x - 1;

  7. else if (x > 7)

  8. return func(x - 4) + x;

  9. else

  10. return func(x + 3) + 2;

  11. }

  12. int main()

  13. {

  14. cout << func(10);

  15. return 0;

  16. }

2分
登录后查看选项
04

下列选项中,判断a不等于0且b不等于0的正确的条件表达式是( )。

2分
登录后查看选项
05

执行语句 int a[3][4] = {{1, 2}, {3}, {4, 5, 6, 7}}; 后,a[1][2] 和a[2][1] 的值分别为:( )。

2分
登录后查看选项
编程题 共4道
06

促销活动

【题目描述】

某超市搞促销活动,活动内容:购物金额每满200元(含200元)就可以享受“满200减25”的优惠。已知小维的购物金额为N(1<N≤1000000),请计算出享受优惠后他需要支付多少元。例如:N=430 ,380 元(380=430-2×25)。

【输入格式】

输入一个正整数N(1<N≤1000000),表示购物金额(单位:元)

【输出格式】

输出一个正整数,表示享受优惠后需要支付的金额(单位:元)


【样例输入】

430

【样例输出】

380
2分
登录后作答
07

相邻身高差

时间限制:1000MS

内存限制: 65536KB

题目描述:

有N (4<N<100) 名同学站成一队,已知每名同学的身高 (单位: 厘米),请比较该队中任意相邻两名同学的身高差(取正值),并输出最大的身高差。

例如: N = 8,8名同学的身高分别是 151、120、144、182、160、158、147、161.相邻两名同学的身高差依次是31、24、38、22、2、11、14,其中最大身高差是 38.

输入描述

第一行输入一个正整数 N (4N<100),表示站队的同学人数

第二行输入N个正整数(80<正整数<220),表示队列中学生的身高(单位: 厘米),相邻两个正整数之间用一个空格隔开

输出描述

输出一个非负整数,表示相邻两名同学中最大身高差。


样例输入

8
151 120 144 182 160 158 147 161

样例输出

38
2分
登录后作答
08

九进制回文数

提示信息

回文数: 反向排列与原来一样的数就叫做回文数

例如,12321 是回文数,1231 不是回文数。

九进制数: 指逢9进位的一种进位计数制,以0、1、2、3、4、5、6、7、8共九个数码表示。例如: 十进制数 9等于九进制数 10,十进制数 81 等于九进制数 100,以此类推.

时间限制:1000MS

内存限制:65536KB

题目描述:

给定两个正整数N和M (1SNsMs5000),请计算出N到M之间 (含N和M) 总共有多少个数满足以下条件:

1、转换为九进制之后为回文数:

2、转换为九进制后每个数位上的数字都是奇数

例如:

当N=90,M=120,90到 120之间(含90和120) 总共有2 个数满定条件,为91 和109;

91 转换为九进制为 111,是一个回文数,且每个数位上的数字都是奇数;

109 转换为九进制为 131,是一个回文数,且每个数位上的数字都是奇数;

故输出2。

输入描述:

输入两个正整数N 和 M (1<N<M<5000),两个正整数之间用一个空格隔开

输出描述

输出一个整数,表示 N到M之间 (含 N和 M) 总共有多少个满足条件的正整数


样例输入

90 120

样例输出

2
2分
登录后作答
09

收集宝石

题目描述:

聪聪在玩冒险岛游戏,为了召唤法力更强大的神龙,他必须尽可能收集更多的魔法宝石,每颗宝石都有不同的功效。不过在游戏里,几乎每一颗魔法宝石都会和另外一颗宝石相冲。相冲表示这两颗宝石不能同时拥有。例如,宝石A和宝石B 相冲,那么,你可以选择两颗宝石都不收集,也可以只收集宝石A 或者只收集宝石 B,但不能同时拥有宝石 A和宝石B现在给定了游戏里宝石的数量N(2≤N≤100),宝石从1到N依次编号,并给出M对(2≤M≤2000)相冲的宝石编号,请帮聪聪计算出最多能够收集到多少颗宝石。

例如: N=6,M=8时,6颗宝石的编号分别为 1、2、3、4、5、6,其中有8对相冲的宝石,对应编号如下:

1 2

2 3

2 4

2 5

2 6

3 4

4 5

5 6

这表示宝石1和宝石2相冲,宝石2和宝石3,4,5都相冲,宝石3和宝石4相冲,宝石4和宝石5相冲,宝石5和宝石6 相冲。

有三个方案收集到的宝石数量最多: (1 3 5)、(1 3 6)、(1 4 6),这些方案里,最多收集到的宝石数量都是3,所以程序输出3。

输入描述

第一行输入两个正整数N和 M(2≤N≤100,2≤M≤2000),分别表示游戏里的宝石数量和 M 对相冲的宝石,两个正整数之间用一个空格隔开。

接下来输入 M 行,每行两个正数,分别表示相冲的两颗宝石的编号,两个正整数之间用一个空格隔开

输出描述

输出一个整数,表示聪聪在游戏里最多能够收集到的宝石数量


样例输入

6 8
1 2
2 3
2 4
2 5
2 6
3 4
4 5
5 6

样例输出

3
2分
登录后作答