试卷 2022年9月青少年软件编程C语言等级考试试卷(二级)真题
2022年9月青少年软件编程C语言等级考试试卷(二级)真题
编程题
第 1 题    问答题

C语言等级考试二级真题:统计误差范围内的数。

统计一个整数序列中与指定数字m误差范围小于等于X的数的个数。

时间限制:5000

内存限制:65536

输入

输入包含三行:

第一行为N,表示整数序列的长度(N <= 100)

第二行为N个整数,整数之间以一个空格分开;

第三行包含2个整数,为指定的整数m,误差范围X

输出

输出为N个数中与指定数字m误差范围小于等于X的数的个数。

样例输入

5

1 2 3 4 5

3 1

样例输出

3

提示

样例中234都满足条件,故答案为3

第 2 题    问答题

C语言等级考试二级真题:全在其中。

你设计了一个新的加密技术,可以用一种聪明的方式在一个字符串的字符间插入随机的字符串从而对信息进行编码。由于专利问题,我们将不会详细讨论如何在原有信息中产生和插入字符串。不过,为了验证你的方法,有必要写一个程序来验证原来的信息是否全在最后的字符串之中。

给定两个字符串st,你需要判断s是否是t子列。也就是说,如果你去掉t中的某些字符,剩下字符将连接而成为s

时间限制:1000

内存限制:65536

输入

输入包括多个测试样例。每一个都是由空格分隔的由字母数字ASCII字符组成的两个特定的字符串stst的长度不超过100000

输出

对于每个测试样例,如果st子列,则输出”Yes”,否则输出”No”

样例输入

sequence subsequence

person compression

VERDI 

vivaVittorioEmanueleReDiItalia

caseDoesMatter CaseDoesMatter

样例输出

Yes

No

Yes

No

第 3 题    问答题

C语言等级考试二级真题:有趣的跳跃。

一个长度为nn>0)的序列中存在有趣的跳跃当且仅当相邻元素的差的绝对值经过排序后正好是从1(n-1)。例如,1 4 2 3存在有趣的跳跃,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在有趣的跳跃。你需要写一个程序判定给定序列是否存在有趣的跳跃

时间限制:1000

内存限制:65536

输入

一行,第一个数是n0 < n < 3000),为序列长度,接下来有n个整数,依次为序列中各元素,各元素的绝对值均不超过1,000,000,000

输出

一行,若该序列存在有趣的跳跃,输出"Jolly",否则输出"Not jolly"

样例输入

4 1 4 2 3

样例输出

Jolly

第 4 题    问答题

C语言等级考试二级真题:Lab杯。

“Lab乒乓球赛就要在PKU的实验室之间举行了。人工智能实验室的学生都是乒乓球的狂热分子,都强烈希望代表实验室去比赛。但是由于名额限制,他们之中只能由一个人被选作代表。

为了让选择的过程公平,他们决定打一次单循环赛,每一对学生之间都打一场五局三胜的比赛。赢得最多比赛的人就将代表实验室去比赛。现在Ava手里有一份表,表里面记录了每一场比赛的比分。她应该让谁去比赛?

时间限制:5000

内存限制:131072

输入

输入包含一组测试数据。第一行包含n2 ≤ n ≤ 100),实验室里学生的数目。接下来给出一个n × n矩阵A。矩阵的每一个元素都是0123中的一个。第i行第j列的元素aij是第i个学生在和第j个学生的比赛中赢的局数。aijajii ≠ j)正好有一个是3,另外一个小于3。矩阵的所有对角线元素都是0

输出

输出赢了最多比赛的学生的编号。如果有平分,选择编号最小的。

样例输入

4

0 0 3 2

3 0 3 1

2 2 0 2

3 3 3 0

样例输出

4

第 5 题    问答题

C语言等级考试二级真题:反反复复。

MoLarry发明了一种信息加密方法。他们首先决定好列数,然后将信息(只包含字母)从上往下依次填入各列,并在末尾补充一些随机字母使其成为一个完整的字母矩阵。例如,若信息是“There's no place like home on a snowy night”并且有5列,Mo会写成:

t o i o y

h p k n n

e l e a i

r a h s g

e c o n h

s e m o t

n l e w x

注意Mo只会填入字母,且全部是小写形式。在这个例子中,Mo用字母“x”填充了信息使之成为一个完整的矩阵,当然他使用任何字母都是可以的。

Mo根据这个矩阵重写信息:首先从左到右写下第一行,然后从右到左写下第二行,再从左到右写下第三行……以此左右交替地从上到下写下各行字母,形成新的字符串。这样,例子中的信息就被加密为:toioynnkpheleaigshareconhtomesnlewx

你的工作是帮助Larry从加密后的信息中还原出原始信息(包括填充的字母)。

时间限制:1000

内存限制:65536

输入

第一行包含一个整数(范围220),表示使用的列数。 第二行是一个长度不超过200的字符串。

输出

一行,即原始信息。

样例输入

5

toioynnkpheleaigshareconhtomesnlewx

样例输出

theresnoplacelikehomeonasnowynightx

答题卡
编程题
1 2 3 4 5
题目总数:5
总分数:100
时间:90分钟