2024.03全国青少年软件编程(C语言)等级考试试卷(二级)

标签:
普通文字版答案
2024-07-03
| 7页
| 159人阅读
| 0人下载

内容正文:

青少年软件编程(C语言)等级考试试卷(二级) 分数:100 题数:5 一、编程题(共5题,共100分) 1. 满足条件的数的累加2 现有n个整数,将其中个位数为k的数进行累加求和。 时间限制:1000 内存限制:65536 输入 第一行1个整数n。( 0 < n < 1000) 第二行n个非负整数,以空格分隔,每个数不大于100000。 第三行1个整数k。(0 ≤ k ≤ 9) 输出 输出满足题目要求的累加和。 样例输入 10 2 5 7 17 11 18 4 27 1 7 7 样例输出 58 试题编号:20240323-2-01 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案: #include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int a[n+1]; for(int i=1;i<=n;i++) { cin>>a[i]; } int k; cin>>k; int sum=0; for(int i=1;i<=n;i++) { if(a[i]%10==k) { sum+=a[i]; } } cout<<sum; return 0; } 考生得分:20 是否评分:已评分 评价描述: 2. 统一文件名 小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 试题编号:20240323-2-02 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案:(此题已作答) 考生得分:0 是否评分:已评分 评价描述: 3. Lab杯 “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 试题编号:20240323-2-03 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案: #include<bits/stdc++.h> using namespace std; int main(){ int n,score=-1,ans=0; cin>>n; for(int i=1;i<=n;i++){ int sum=0,x; for(int j=1;j<=n;j++){ cin>>x; if(x>=3) sum++; } if(sum>score){ score=sum; ans=i; } } cout<<ans<<endl; return 0; } 考生得分:20 是否评分:已评分 评价描述: 4. 整数排序 给定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 试题编号:20240323-2-04 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案: #include<bits/stdc++.h> using namespace std; bool f(int a,int b) { return a>b; } int main() { int a[10],b[10],c[10]; int j,k; j=k=0; for(int i=0;i<10;i++) { cin>>a[i]; } for(int i=0;i<10;i++) { if(a[i]%2!=0) { b[j++]=a[i]; } else { c[k++]=a[i]; } } sort (b,b+j,f); for(int i=0;i<j;i++) { cout<<b[i]<<" " ; } for(int i=k-1;i>=0;i--) { cout<<c[i]<<" "; } return 0; }考生得分:20 是否评分:已评分 评价描述: 5. 石头剪刀布 石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。 一天,小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赢的轮数多。 试题编号:20240323-2-05 试题类型:编程题 标准答案: 试题难度:一般 试题解析: 展示地址:点击浏览 考生答案: 考生得分:0 是否评分:已评分 评价描述: 学科网(北京)股份有限公司 $$

资源预览图

2024.03全国青少年软件编程(C语言)等级考试试卷(二级)
1
2024.03全国青少年软件编程(C语言)等级考试试卷(二级)
2
2024.03全国青少年软件编程(C语言)等级考试试卷(二级)
3
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。