十四届蓝桥青少C++组2023年3月评测--中高级

本文包含2023年3月12日C++中高级测试题,有选择题和编程题。选择题考查基础语法知识,编程题涉及促销活动计算、相邻身高差计算、九进制回文数统计、收集宝石策略和简易炸弹超人游戏场地炸弹安置等,均支持C++语言解答。

23年3月12日C++中高级

第1子卷: 03-12-C++-中高级-选择题

1.单选题 | 执行cout << '9'*3;语句后,输出的结果是(   )。
*选择题严禁使用程序验证,选择题不答或答错都不扣分

A   27

B    9*3

C   999

D   171

正确答案: D  

2.单选题 | 下列选项中,判断a不等于0且b不等于0的正确的条件表达式是(   )。
*选择题严禁使用程序验证,选择题不答或答错都不扣分

A   !(a==0&&b==0) 

B    !a=0&&!b=0

C   a && b

D   !((a!=0)&&(b!=0))

正确答案: C  

3.单选题 | 执行语句int a[3][4] = { {1, 2}, {3}, {4, 5, 6, 7}};后,a[1][2]和a[2][1]的值分别为:(   )。
*选择题严禁使用程序验证,选择题不答或答错都不扣分

A   2、3

B    0、5

C   2、5

D   5、0

正确答案: B  

4.单选题 | 已定义:int a = 02023, b = 0X212; a + b的值是(   )。
*选择题严禁使用程序验证,选择题不答或答错都不扣分

A    八进制数4771

B    十进制数1573

C   十进制数2553

D   十六进制数9f9

正确答案: B  

5.单选题 | 执行以下代码,输出的结果是(   )。
#include<iostream>
using namespace std;
int func(int x)
{
    if (x <= 4)
        return 2 * x - 1;
    else if (x > 7)
        return func(x - 4) + x;
    else
        return func(x + 3) + 2;
}
 
int main()
{
    cout << func(10);
    return 0;
}
*选择题严禁使用程序验证,选择题不答或答错都不扣分

A   26

B    29

C   38

D   45

正确答案: C  

第2子卷: 03-12-C++-中高级-编程题

1.编程题  |15分

时间限制:C/C++语言 1000MS;其他语言 3000 MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
问题描述:
编程实现:促销活动
题目描述:
某超市搞促销活动,活动内容:购物金额每满200元(含200元)就可以享受“满200减25”的优惠。
已知小维的购物金额为N(1<N<1000000),请计算出享受优惠后他需要支付多少元。
  
例如:N=430,购物金额为430元时,满足2次“满200减25”的条件,所以可以减去2个25元,最后结账
时需支付的金额为380元(380=430-2×25)。
输入描述:
输入一个正整数N(1<N<1000000),表示购物金额(单位:元)
输出描述:
输出一个正整数,表示享受优惠后需要支付的金额(单位:元)
输入样例:
430
输出样例:
380

支持语言:
C++

标程:

#include<iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    cout << n - n / 200 * 25;
    return 0;
}

2.编程题  | 

问题描述:

18分

编程实现:相邻身高差
题目描述:
有N(4≤N≤100)名同学站成一队,已知每名同学的身高 (单位:厘米),请比较该队中任意相邻两名同
学的身高差(取正值),并输出最大的身高差。
 
例如:N = 8,8名同学的身高分别是151、120、144、182、160、158、147、161,
相邻两名同学的身高差依次是31、24、38、22、2、11、14,其中最大身高差是38。
输入描述:
第一行输入一个正整数N(4≤N≤100),表示站队的同学人数
第二行输入N个正整数(80≤正整数≤220),表示队列中学生的身高(单位:厘米),相邻两个正整数之
间用一个空格隔开
输出描述:
输出一个非负整数,表示相邻两名同学中最大身高差
输入样例:
8
151 120 144 182 160 158 147 161
输出样例:
38

支持语言:
C++

标程:

#include<iostream>
#
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值