image

编辑人: 沉寂于曾经

calendar2025-06-15

message5

visits508

2024年03月C语言二级答案及解析

一、编程题

1、满足条件的数的累加2(2024.3二级)

现有n个整数,将其中个位数为k的数进行累加求和

输入

第一行一个整数n。第二行n个非负整数,以空格分割,每个数不大于100000。第三行一个整数k。

输出

输出满足题目要求的累加和


样例输入

10
2 5 7 17 11 18 4 27 1 7
7

样例输出

58

参考答案:```pythonn = int(input().strip())nums = list(map(int, input().strip().split()))k = int(input().strip())sum_k = 0for num in nums:if num % 10 == k:sum_k += numprint(sum_k)```

解析:【喵呜刷题小喵解析】:

根据题目要求,我们需要读取n个整数,然后找出其中个位数为k的数进行累加求和。

首先,我们需要读取第一行的整数n,表示有n个整数。

然后,我们需要读取第二行的n个非负整数,以空格分割,每个数不大于100000。

接着,我们需要读取第三行的整数k,表示要找出个位数为k的数进行累加求和。

我们可以使用一个循环遍历这n个整数,如果某个数的个位数等于k,则将其加入到累加和中。

最后,我们输出累加和即可。

因此,我们可以使用Python语言实现以上思路。首先读取输入,然后使用循环遍历整数并计算累加和,最后输出结果。

2、统一文件名(2024.3二级)

小A在命名文件的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将目录下的文件统一规范的格式,即文件名的第一个字符如果是字母要大写,其他字母小写。如将Test、test整理成Test。

时间限制:1000

内存限制:65536

输入

第一行一个数字n,表示有n个文件名要统一,n不超过100。 接下来n行,每行一个单词,长度不超过20,表示文件的名字。文件名由字母、数字和-组成。

输出

n行,每行一个单词,对应统一后的文件名。


样例输入

4
Test
data
2-TEST
problem-6

样例输出

Test
Data
2-test
Problem-6

参考答案:br />```pythonn = int(input())for i in range(n):filename = input()if filename[0].isalpha():filename = filename.capitalize()print(filename)```

解析:【喵呜刷题小喵解析】

首先,我们读取输入的第一行,得到需要统一格式的文件名数量n。

然后,我们进行n次循环,每次循环处理一个文件名。

在每次循环中,我们读取一个文件名,然后判断其第一个字符是否为字母。如果是字母,则使用字符串的`capitalize()`方法将其首字母大写,其他字母小写。如果不是字母,则保持原样。

最后,我们输出处理后的文件名。

注意,题目中要求“文件名的第一个字符如果是字母要大写,其他字母小写”,而不是“文件名全部小写”。因此,我们需要判断第一个字符是否为字母,而不是直接将所有字母都转换为小写。

3、Lab杯(2024.3二级)

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

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

时间限制:5000

内存限制:131072

输入

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

输出

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


样例输入

4
0 0 3 2
3 0 3 1
2 2 0 2
3 3 3 0

样例输出

4

参考答案:3

解析:【喵呜刷题小喵解析】:根据题目描述,我们需要找出赢得最多比赛的学生的编号。首先,我们需要遍历输入的矩阵,统计每个学生的获胜次数。然后,找出获胜次数最多的学生,如果有平分,选择编号最小的。

对于样例输入,我们可以统计每个学生的获胜次数:

* 学生1:0胜
* 学生2:1胜
* 学生3:2胜
* 学生4:3胜

因为学生4赢得了最多的比赛,所以应该选择学生4代表实验室去比赛。

注意,题目中要求如果有平分,选择编号最小的。在这个例子中,没有出现平分的情况,所以不需要考虑这个条件。

4、整数排序(2024.3二级)

给定10个整数的序列,要求对其重新排序。排序要求:

1.奇数在前,偶数在后;

2.奇数按从大到小排序;

3.偶数按输入顺序逆序排序。

时间限制:1000

内存限制:65536

输入

输入一行,包含10个整数,彼此以一个空格分开,每个整数的范围是大于等于0,小于等于100。

输出

按照要求排序后输出一行,包含排序后的10个整数,数与数之间以一个空格分开。


样例输入

4 7 3 13 11 12 0 47 34 98

样例输出

47 13 11 7 3 98 34 0 12 4

参考答案:对于输入的10个整数,首先识别奇数和偶数,将奇数放在偶数前面,并按照奇数的从大到小排序,偶数则按照输入顺序逆序排序。

解析:【喵呜刷题小喵解析】:
对于此题目,我们可以按照以下步骤进行解答:

1. 识别奇数和偶数:遍历输入的10个整数,判断每个数是否为奇数或偶数。

2. 奇数排序:将奇数单独提取出来,按照从大到小的顺序进行排序。

3. 偶数排序:将偶数单独提取出来,按照输入顺序的逆序进行排序。

4. 合并排序:将排序后的奇数和偶数合并,按照奇数在前,偶数在后的顺序输出。

因此,对于输入的整数序列,我们可以先识别奇数和偶数,然后分别对奇数进行从大到小的排序,对偶数进行逆序排序,最后将排序后的奇数和偶数按照要求合并输出。

由于题目没有给出具体的编程语言,因此以上步骤需要根据具体的编程语言来实现。在实际编程时,我们可以使用数组来存储输入的整数,然后按照上述步骤进行排序和输出。

5、石头剪刀布(2024.3二级)

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

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

时间限制:1000

内存限制:65536

输入

输入包含三行。 第一行包含三个整数: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

提示

对于测试数据,猜拳过程为: A:0 2 5 0 2 5 0 2 5 0 B:0 5 0 2 0 5 0 2 0 5 A赢了4轮,B赢了2轮,双方打平4轮,所以A赢的轮数多。

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

解析:【喵呜刷题小喵解析】:
本题是一道模拟题,需要根据输入信息模拟石头剪刀布游戏的进行,并统计每个人赢的轮数。

首先,我们需要根据输入信息确定小A和小B的出拳规律。由于小A和小B的出拳都是有周期性规律的,因此我们可以使用字符串来表示他们的出拳规律。

然后,我们需要模拟进行N轮石头剪刀布游戏,统计每个人赢的轮数。具体步骤如下:

1. 初始化变量countA和countB为0,分别表示小A和小B赢的轮数。
2. 对于每一轮游戏,分别根据小A和小B的出拳规律确定他们的出拳结果。
3. 根据石头剪刀布游戏的规则,判断谁赢了这一轮游戏,并更新countA和countB的值。
4. 重复步骤2和步骤3,直到进行完N轮游戏。
5. 最后,比较countA和countB的大小,输出相应的结果。

需要注意的是,由于小A和小B的出拳规律是有周期性的,因此在模拟进行游戏时,可以使用取模运算来确定他们的出拳结果。具体来说,对于小A的出拳规律,可以使用i % NA来确定第i轮游戏的出拳结果;对于小B的出拳规律,可以使用i % NB来确定第i轮游戏的出拳结果。

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:2024年03月C语言二级答案及解析

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share