2023年03月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

在这里插入图片描述

第1题:字符长方形

给定一个字符,用它构造一个长为4个字符,宽为3个字符的长方形,可以参考样例输出。
时间限制:1000
内存限制:65536
输入
输入只有一行, 包含一个字符。
输出
该字符构成的长方形,长4个字符,宽3个字符。
样例输入
*
样例输出
****
****
****

以下是使用C语言编写的解决方案:

#include <stdio.h>int main() {char ch;// 读取输入字符scanf("%c", &ch);// 输出长方形for (int i = 0; i < 3; i++) {for (int j = 0; j < 4; j++) {printf("%c", ch);}printf("\n");}return 0;
}

你可以将上述代码保存为一个名为 “rectangle.c” 的文件,并使用C编译器进行编译和运行。输入一个字符后,程序将输出相应的长方形。

请注意,这个解决方案假设输入的字符是有效的,并且只读取一个字符。如果输入包含多个字符,或者不是有效的字符,可能会导致输出错误。

第2题:长方形面积

给出一个长方形的长和宽,求该长方形的面积。假设长为a,宽为b,则面积S=a×b。
时间限制:1000
内存限制:65536
输入
一行,2个正整数,以空格分隔,分别表示长方形的长和宽。长和宽都不大于1000。
输出
一个整数,即长方形的面积。
样例输入
4 3
样例输出
12

以下是解决该问题的C语言代码:

#include <stdio.h>int main() {int length, width, area;// 读取输入的长和宽scanf("%d %d", &length, &width);// 计算面积area = length * width;// 输出面积printf("%d\n", area);return 0;
}

你可以将上述代码保存为一个名为 “rectangle_area.c” 的文件,并使用C编译器进行编译和运行。在输入长和宽后,程序将计算并输出长方形的面积。

请注意,这个解决方案假设输入的长和宽都是有效的正整数,并且在题目要求的范围内。如果输入包含非法字符、负数或超出限制范围的数值,可能会导致输出错误。

第3题:成绩等级转换

小明想将自己的百分制成绩转换为等级制,请你帮他完成这样的转换。转换规则为:
A,90-100
B,77-89
C,67-76
D,60-66
E,0-59
时间限制:1000
内存限制:65536
输入
一个0 - 100 的整数
输出
输出转换后的等级,一个A-E的大写字母。
样例输入
样例1:
85
样例2:
62
样例输出
样例1:
B
样例2:
D

以下是解决该问题的C语言代码:

#include <stdio.h>char convertToGrade(int score) {if (score >= 90 && score <= 100) {return 'A';} else if (score >= 77 && score <= 89) {return 'B';} else if (score >= 67 && score <= 76) {return 'C';} else if (score >= 60 && score <= 66) {return 'D';} else {return 'E';}
}int main() {int score;// 读取输入的成绩scanf("%d", &score);// 转换成绩为等级char grade = convertToGrade(score);// 输出等级printf("%c\n", grade);return 0;
}

你可以将上述代码保存为一个名为 “grade_conversion.c” 的文件,并使用C编译器进行编译和运行。在输入成绩后,程序将根据转换规则将其转换为相应的等级,并输出等级。

请注意,这个解决方案假设输入的成绩是有效的整数,并且在题目要求的范围内。如果输入包含非法字符、小数或超出限制范围的数值,可能会导致输出错误。

第4题:寻找特殊年号

年号中的每个数之和为20的年号是特殊年号。例如:2099、1991、1892是特殊的年号,而2021则不是。给定一个年号,找出严格大于给定年号的最小特殊年号。
时间限制:1000
内存限制:65535
输入
年号:整数y(1000≤y≤9000)。
输出
特殊年号:严格意义上大于y的最小年号,并且它的每个数之和为20。
样例输入
样例输入1
1892
样例输入2
2021
样例输出
样例输出1
1919
样例输出2
2099
提示
因为2+0+9+9=20,所以2099是特殊年号。 因为2+0+2+1=5,所以2021不是特殊年号。 特殊年号可能大于9000。

以下是解决该问题的C语言代码:

#include <stdio.h>int sumOfDigits(int year) {int sum = 0;while (year != 0) {sum += year % 10;year /= 10;}return sum;
}int findSpecialYear(int year) {int specialYear = year + 1;while (sumOfDigits(specialYear) != 20) {specialYear++;}return specialYear;
}int main() {int year;// 读取输入的年号scanf("%d", &year);// 寻找特殊年号int specialYear = findSpecialYear(year);// 输出特殊年号printf("%d\n", specialYear);return 0;
}

你可以将上述代码保存为一个名为 “special_year.c” 的文件,并使用C编译器进行编译和运行。在输入年号后,程序将寻找严格大于给定年号的最小特殊年号,并输出该特殊年号。

请注意,这个解决方案假设输入的年号是有效的整数,并且在题目要求的范围内。如果输入包含非法字符、小数或超出限制范围的数值,可能会导致输出错误。此外,特殊年号可能大于9000,因此解决方案没有对特殊年号的上限进行限制。

第5题:机智的小明

小明的妈妈非常关心小明的成绩,每次考试后都会问小明是否进步了。机智的小明会努力找出之前比这次成绩低的试卷进行比较,如果找到了,他会回答妈妈自己进步了(Y),如果没找到,他只能回答妈妈没进步(N)。已知小明的n次成绩,请问每次妈妈询问小明,小明的回答是怎么样的。
时间限制:1000
内存限制:65536
输入
输入为2行,第1行是一个整数n(n < 100),即考试成绩的数量,第二行是n个整数,即每次考试成绩。输入保证n不大于100,考试成绩在0到100之间。
输出
n行,每行是小明的回答(Y或N)
样例输入
5
90 80 95 96 50
样例输出
N
N
Y
Y
N
提示
对于每一次成绩,只要之前的成绩有任意一次成绩比当前成绩低,就输出Y,否则输出N

以下是解决该问题的C语言代码:

#include <stdio.h>int main() {int n;scanf("%d", &n);int grades[n];for (int i = 0; i < n; i++) {scanf("%d", &grades[i]);}for (int i = 0; i < n; i++) {int currentGrade = grades[i];int foundLowerGrade = 0;for (int j = 0; j < i; j++) {if (grades[j] < currentGrade) {foundLowerGrade = 1;break;}}if (foundLowerGrade) {printf("Y\n");} else {printf("N\n");}}return 0;
}

你可以将上述代码保存为一个名为 “clever_ming.c” 的文件,并使用C编译器进行编译和运行。在输入考试成绩后,程序将根据小明的回答规则输出每次妈妈询问时小明的回答。

请注意,这个解决方案假设输入的考试成绩是有效的整数,并且在题目要求的范围内。如果输入包含非法字符、小数或超出限制范围的数值,可能会导致输出错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/65967.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】ThreadLocal详细解析

ThreadLocal全面解析 前置知识 具有一定的javase和javaweb基础熟悉synchronized关键字熟悉HashMap熟悉 JDBC技术 学习目标 了解ThreadLocal的介绍掌握ThreadLocal的运用场景了解ThreadLocal的内部结构了解ThreadLocal的核心方法源码了解ThreadLocalMap的源码 1. ThreadLoc…

图分类,图机器学习最新进展

图分类&#xff0c;图机器学习最新进展 1.Flat_Pooling TitleVenueTaskCodeDatasetDMLAP: Multi-level attention pooling for graph neural networks: Unifying graph representations with multiple localitiesNeural Networks 20221. Graph ClassificationNonesynthetic, …

7-8 计算存款利息

本题目要求计算存款利息&#xff0c;计算公式为interestmoney(1rate)year−money&#xff0c;其中interest为存款到期时的利息&#xff08;税前&#xff09;&#xff0c;money是存款金额&#xff0c;year是存期&#xff0c;rate是年利率。 输入格式&#xff1a; 输入在一行中…

2023国赛 高教社杯数学建模ABCDE题思路汇总分析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 全国大学生数学建模…

ModaHub魔搭社区:Milvus Cloud向量数据库可以部分避免AI幻觉

向量数据库的技术优势使其更适合在AI场景下应用&#xff0c;能够为AI的开发、增强内容生成的准确性提供重要的技术支撑。进一步来讲&#xff0c;向量数据库也被看作是大语言模型的记忆与灵魂&#xff0c;对于解决大模型的“幻觉”问题至关重要。 由于大模型是基于已有数据训练而…

winform中嵌入cefsharp, 并使用selenium控制

正常说&#xff0c; 需要安装的包 下面是所有的包 全部代码 using OpenQA.Selenium.Chrome; using OpenQA.Selenium; using System; using System.Windows.Forms; using CefSharp.WinForms; using CefSharp;namespace WindowsFormsApp2 {public partial class Form1 : Form{//…

04.利用Redis国逻辑过期实现缓存功能---解决缓存击穿

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis逻辑过期实现添加缓存功能解决缓存击穿 学习产出&#xff1a; 缓存击穿讲解图&#xff1a; 解决方案&#xff1a; 采用互斥锁采用逻辑过期 1. 准备pom环境 <dependency><groupId>org.springframework…

笔记本电脑如何把sd卡数据恢复

在使用笔记本电脑过程中&#xff0c;如果不小心将SD卡里面的重要数据弄丢怎么办呢&#xff1f;别着急&#xff0c;本文将向您介绍SD卡数据丢失常见原因和恢复方法。 ▌一、SD卡数据丢失常见原因 - 意外删除&#xff1a;误操作或不小心将文件或文件夹删除。 - 误格式化&#…

PyTorch深度学习实战(11)——卷积神经网络

PyTorch深度学习实战&#xff08;11&#xff09;——卷积神经网络 0. 前言1. 全连接网络的缺陷2. 卷积神经网络基本组件2.1 卷积2.2 步幅和填充2.3 池化2.3 卷积神经网络完整流程 3. 卷积和池化相比全连接网络的优势4. 使用 PyTorch 构建卷积神经网络4.1 使用 PyTorch 构建 CNN…

Vulhub之Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD是一款HTTP服务器&#xff0c;它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞&#xff0c;在解析PHP时&#xff0c;1.php\x0A将被按照PHP后缀进行解析&#xff0c;导致绕过一些服务器的安全策略。 1、docker-compose build、docker-compo…

【数据结构与算法】十大经典排序算法-插入排序

&#x1f31f;个人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知识导航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f31e;知乎&#xff1a;HelloCode &#x1f334;掘金&#xff1a;HelloCode ⚡如有问题&#xff0c;欢迎指正&#…

Ubuntu系统没有声音

现象 新按转的Ubuntu系统没有声音&#xff0c;怀疑是声卡选择的问题 解决方法 1、在终端输入alsamixer命令 2、按下F6键选择声卡 不要选择NVidia&#xff0c;而是选择HD-Audio 3、将所有音量调到最大&#xff0c;把disable调成enable