2025年6月电子学会青少年软件编程(C/C++四级)等级考试试卷
操作/编程
四级
2025
2025-07-24 15:21:52
76次
一、编程题
排队序列
已知现在有 n 个人需要打电话,他们已经排好了队伍,每个人打电话的时间为Ti。请你帮助他们找到一个排队打电话的队列方案,使队伍的平均等待时间更短。
输入格式
第一行:一个正整数n,表示一共n个人。
第二行:n个数字,分别表示第1个人到第n个人每人的打电话时间T1,T2,…,Tn,每个数据之间有1个空格。
输出格式
第一行为一种排队顺序,即原先队列编号1到n的一种排列;
第二行为这种排列方案下的平均等待时间(输出结果精确到小数点后两位,按照C语言的浮点数保留规则进行保留)。
输入样例
10 56 12 1 99 1000 234 33 55 99 812
输出样例
3 2 7 8 1 4 9 6 10 5 291.90
说明提示
1≤n≤100000
1≤Ti≤1000000
如果有多种排列都可以让平均等待时间最短,则输出其中字典序最小的序列。字典序指的是英文单词在字典中排序使用的规则顺序。
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++四级
统计数带
给定两个正整数 a 和 b,它们之间的十进制数字组成了一条数带,请问其中相邻的两位数字组成 12 的情况出现了多少次?例如 a=210,b=213,则数带为
2 1 0 2 1 1 2 1 2 2 1 32~1~0~2~1~1~2~1~2~2~1~32 1 0 2 1 1 2 1 2 2 1 3
其中 12 出现了两次,第一个 12 由 211 的个位和 212 的百位组成。
输入格式
两个整数 a 和 b。
输出格式
数带中 12 出现的次数。
输入样例#1
210 212
输出样例#1
2
输入样例#2
1 9
输出样例#2
1
说明提示
1≤a≤b≤106
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++四级
汽车牌照
作为汽车行驶的重要身份标志——汽车牌照也是越来越不够用了,从最早的十进制发展到三十六进制了,以前的一个汽车牌照“888888”,而现在的牌照变成了形如“A3GH11”。
三十六进制以大写字母 A 到 Z 表示数码 10 到 35。
请计算前后两辆汽车的牌照,在十进制下差多少?
输入格式
输入两行:
第一行为第一辆车的牌照
第二行为第二辆车的牌照
输出格式
共一行,表示两辆汽车牌照在十进制下的差的绝对值。
输入样例#1
888888 888889
输出样例#1
1
输入样例#2
888880 88888A
输出样例#2
10
说明提示
数据保证输入车牌转换成十进制后不超过 long long 范围。
限制
时间限制:1000ms
内存限制:512MiB
【知识点】 电子学会C/C++四级
