编程题 共5道

01 02 03 04 05

295 202103C语言二级真题-练习
编程题 共5道
01

与指定数字相同的数的个数


输出一个整数序列中与指定数字相同的数的个数。


输入格式

输入包含三行:第一行为N,表示整数序列的长度(N <= 100);第二行为N个整数,整数之间以一个空格分开;第三行包含一个整数,为指定的整数m。


输出格式

输出为N个数中与m相同的数的个数。


样例输入
3
2 3 2
2

样例输出
2
20分
登录后作答
02

合法 C 标识符


给定一个不包含空白符的字符串,请判断是否是C语言合法的标识符号(注:题目保证这些字符串一定不是C语言的保留字)。


C语言标识符要求

1. 非保留字;

2. 只包含字母、数字及下划线(“_”);

3. 不以数字开头。


输入格式

一行,包含一个字符串,字符串中不包含任何空白字符,且长度不大于20。


输出格式

一行,如果它是C语言的合法标识符,则输出yes,否则输出no。


样例输入
RKPEGX9R;TWyYcp

样例输出
no
20分
登录后作答
03

计算鞍点


给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。


示例

在下面的例子中(第4行第1列的元素就是鞍点,值为8):

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 

输入格式

输入包含一个5行5列的矩阵。


输出格式

如果存在鞍点,输出鞍点所在的行、列及其值(行和列从1开始计数),如果不存在,输出"not found"。


样例输入

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
20分
登录后作答
04

谁考了第k名


在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。


输入

第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。


输出

输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)


样例输入
5 3
90788001 67.8
90788002 90.3
90788003 61 
90788004 68.4 
90788005 73.9

样例输出
90788004 68.4
20分
登录后作答
05

石头剪刀布


石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。

一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有周期性规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期不断循环的。请问,小A和小B比了N轮之后,谁赢的轮数多?


输入

输入包含三行。第一行包含三个整数:N、NA、NB,分别表示比了N轮,小A出拳的周期长度,小B出拳的周期长度。0 < N,NA,NB < 100。第二行包含NA个整数,表示小A出拳的规律。第三行包含NB个整数,表示小B出拳的规律。其中,0表示“石头”,2表示“剪刀”,5表示“布”。相邻两个整数之间用单个空格隔开。


输出

输出一行,如果小A赢的轮数多,输出A;如果小B赢的轮数多,输出B;如果两人打平,输出draw。


样例输入
10 3 4
0 2 5
0 5 0 2

样例输出
A
20分
登录后作答