2023年C++国赛试卷

C++ 60分钟 总分 100.0 10 题
试卷题目预览
第1题 初级 10.0分 单选
1.以下程序输出结果是什么?

A. 15
B. 22
C. 25
D. 30
第2题 初级 10.0分 单选
2、以下程序输出结果是什么?

A. 2
B. 4
C. 7
D. 9
第3题 初级 10.0分 单选
以下程序输出结果是什么?

A. C0d3R
B. C*d*R
C. C**R
D. Cod3R
第4题 初级 10.0分 单选
点A(3,4)和点B(8,12)之间的曼哈顿距离是多少?
A. 9
B. 11
C. 13
D. 15
第5题 初级 10.0分 单选
以下关于vector的说法正确的是:

大小固定

A. 大小固定
B. 尾部插入效率低
C. 可以直接访问中间元素
D. 不能存储字符串
第6题 初级 10.0分 编程
超市收银

小明正在为超市开发智能收银系统。顾客购买商品时,系统需要计算总价并自动应用折扣:
购物满100元减10元
购物满200元减30元:
请编写实现自动计算应付金额的程序。
输入格式:
第一行:整数n(商品数量)
第二行:n个空格分隔的浮点数(商品价格)
输出格式:
保留两位小数的应付金额
输入样例:
3  
45.5 120.0 34.5  
输出样例:
190.00  
样例解释:
原价:45.5+120+34.5=200元
满足200元减30元优惠:200-30=170元
数据约束:
1 ≤ n ≤ 100
0.01 ≤ 价格 ≤ 1000.00

第7题 初级 10.0分 编程
计分

题目描述:
学校运动会需要统计各班得分。比赛结束后,各班得分记录可能存在重复,需要去重后计算总分。
请编写程序对输入的得分列表去重后求和。
输入格式:
第一行:整数n(得分记录数量)
第二行:n个空格分隔的整数(可能有重复)
输出格式:
去重后的总分
输入样例:

5 3 5 7 3 9  
输出样例:
24  
样例解释:
去重后得分:5,3,7,9 → 5+3+7+9=24
数据约束:
1 ≤ n ≤ 1000
0 ≤ 得分 ≤ 100

第8题 初级 10.0分 编程
灌溉

农场安装智能灌溉系统,农田被划分为n×n网格。每个网格的湿度值代表灌溉需求(0-100),系统每次只能灌溉整行或整列。请你编写程序找出灌溉需求最高的行或列。
输入格式:
第一行:整数n(网格大小)

随后n行:每行n个空格分隔的整数
输出格式:
最高需求值及其类型(行/列)和序号
格式:"R|C 序号 值"(R行/C列)
输入样例:
3  
10 20 30  
40 50 60  
70 80 90  
输出样例:
C 2 180  
样例解释:
行总和:R0=60, R1=150, R2=240
列总和:C0=120, C1=150, C2=180
最高需求是第2列(索引从0开始)180
数据约束:
2 ≤ n ≤ 50
0 ≤ 湿度值 ≤ 100

第9题 初级 10.0分 编程
借阅管理

图书馆需要统计最受欢迎的图书。借阅记录格式为"日期-书号",书号出现次数最多的就是最受欢迎图书。
请编写程序找出出现次数最多的书号(如有并列取书号小的)。
样例解释:
A102出现3次,B205出现1次,C307出现1次
数据约束:
1 ≤ n ≤ 1000
书号格式:字母+数字(长度3-5)

【输入格式】
第一行:整数n(记录数量)
随后n行:每行格式"YYYYMMDD-ID"
【输出格式】
最受欢迎的书号
【样例】
5  
20230501-A102  
20230502-B205  
20230501-A102  
20230503-C307  
20230502-A102
【样例解释】
A102
第10题 初级 10.0分 编程
导航系统

学校道路系统升级,每条道路有不同长度。计算从校门(1号)到教学楼(n号)的最短路径长度。请编写程序实现求最短路径。
输入格式:
第一行:n(地点数)m(道路数)
随后m行:每行三个整数a b L(a和b相通,道路长度L)
输出格式:
最短路径长度(不可达输出-1) 
样例解释:
最短路径:1→3→4(2+6=8)
实际最短路:1→2→4(5+1=6)
数据约束:
2 ≤ n ≤ 100
1 ≤ m ≤ 500
1 ≤ L ≤ 100

【样例】
4 4  
1 2 5  
1 3 2  
2 4 1  
3 4 6
【样例解释】
6
💬