理论卷2022年12月青少年软件编程(C\C++) · 二级

YLT C++ 2级 2022.12

满分 100 · 及格 60 · 时长 60 分钟 · 共 5 题 (编程题5)
试卷阅览 · 免费预览前 10 题 · 交卷后可查看答案与解析
1
编程题题号 #22255
分值 20

N3811 [CIE 202212 二级 T1] 数组逆序重放

题目描述

将一个数组中的值按逆序重新存放。例如,原来的顺序为 8,6,5,4,18,6,5,4,1。要求改为 1,4,5,6,81,4,5,6,8。

输入格式

输入为两行:第一行数组中元素的个数 nn (1<n<100)(1<n<100),第二行是 nn 个整数,每两个整数之间用空格分隔。

输出格式

输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。

样例

样例 1
输入:

5
8 6 5 4 1

输出:

1 4 5 6 8

提示

无

2
编程题题号 #22256
分值 20

N3812 [CIE 202212 二级 T2] 最长最短单词

题目描述

输入 11 行句子(不多于 200200 个单词,每个单词长度不超过 100100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第 11 个最长的单词和第 11 个最短单词。

输入格式

一行句子。

输出格式

两行输出: 第 11 行,第一个最长的单词。 第 22 行,第一个最短的单词。

样例

样例 1
输入:

I am studying Programming language C in Peking University

输出:

Programming
I

提示

无

3
编程题题号 #22257
分值 20

N3813 [CIE 202212 二级 T3] 计算鞍点

题目描述

给定一个 5∗55*5 的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。 鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第 44 行第 11 列的元素就是鞍点,值为 88 )。

11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25

输入格式

输入包含一个 55 行 55 列的矩阵

输出格式

如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"

样例

样例 1
输入:

11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25

输出:

4 1 8

提示

无

4
编程题题号 #22258
分值 20

N3814 [CIE 202212 二级 T4] 病人排队

题目描述

病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:
11. 老年人(年龄 ≥60\geq 60岁)比非老年人优先看病。
22. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。
33. 非老年人按登记的先后顺序看病。

输入格式

第 11 行,输入一个小于 100100 的正整数,表示病人的个数; 后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于 1010 的字符串表示病人的 ID\text{ID}(每个病人的 ID\text{ID} 各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。

输出格式

按排好的看病顺序输出病人的 ID\text{ID},每行一个。

样例

样例 1
输入:

5
021075 40
004003 15
010158 67
021033 75
102012 30

输出:

021033
010158
021075
004003
102012

提示

无

5
编程题题号 #22259
分值 20

N3815 [CIE 202212 二级 T5] 循环数

题目描述

若一个 nn 位的数字串满足下述条件,则称其是循环数(cyclic):将这个数字串视为整数(可能带有前导 00),并用任意一个 11 到 nn 之间(包含 11 和 nn)的整数去乘它时,会得到一个将原数字串首尾相接后,再在某处断开而得到的新数字串所对应的整数。例如,数字 142857142857 是循环数,因为:
142857×1=142857142857 \times 1 = 142857
142857×2=285714142857 \times 2 = 285714
142857×3=428571142857 \times 3 = 428571
142857×4=571428142857 \times 4 = 571428
142857×5=714285142857 \times 5 = 714285
142857×6=857142142857 \times 6 = 857142。
请写一个程序判断给定的数是否是循环数。

输入格式

一行,一个长度在 22 到 6060 位之间的数字串。

输出格式

一个整数,若输入的数字串是循环数,输出 11,否则输出 00。

样例

样例 1
输入:

142857

输出:

1

提示

注意:在此题中,输入数字串允许带前导 00,且前导 00 不能被忽略,例如“0101”是两位数字串,而“11”是一位数字串。但将数字串转化为整数做乘法运算或比较运算时,可以忽略前导 00。

海小星AI平台海小星AI平台

点亮AI梦想,编程未来之星。专业的青少年AI编程教育平台。

课程方向

  • AIGC人工智能
  • Scratch图形化
  • Python编程
  • C++/NOIP竞赛

联系我们

  • 北京市西城区万博苑7号楼3层F28室
  • +86-010-83553010
  • contact@seanova.cn

© 2026 海小星AI平台|京ICP备2022032747号

隐私政策服务条款