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

news2024/11/25 10:42:42

在这里插入图片描述

第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.coloradmin.cn/o/874381.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql主从分离

一、前言 某个应用场景中&#xff0c;在操作数据库这部分&#xff0c;往往是数据库的读取往往大于数据库的写入&#xff0c;当读取数据达到数据库的瓶颈时&#xff0c;性能下滑&#xff0c;影响数据的写入&#xff0c;导致整个应用的不可用。为了解决这个问题&#xff0c;这时&…

java热插拔组件 SPI机制

文章目录 前言一、热插拔(spi机制)是什么&#xff1f;二、使用步骤1.利用java META-INF2.利用google spi3. 测试效果 总结 前言 在项目中,如果想要增加项目的灵活性,健壮性, 高逼格,那么你要对于java中的一些机制有了解; 例如: java中的spi机制spring中的spring.factories 等…

QtCreator ui设置界面 Layout 的属性 layoutStretch

layoutStretch 用于控制Layout在被用户进行缩放时。里面控件的缩放比例。如一个水平布局里面有两个控件 一个 QLineEdit 和 QPushButton。首先将两个控件的尺寸策列的水平策略都设置为Expanding。此时在将包含这两个控件的水平布局的 layoutStretch 进行如下设置。 运行程序就…

权衡与选择:如何巧妙管理项目需求的优先级

在项目管理领域&#xff0c;处理和管理需求可能是最具挑战性的环节之一。每一个项目都充满了各种需求&#xff0c;从业务需求到技术需求&#xff0c;从用户需求到系统需求。而如何有效地为这些需求排列优先级&#xff0c;不仅会影响项目的进度和资源分配&#xff0c;还会直接关…

Azure创建第一个虚拟机

首先&#xff0c;登录到 Azure 门户 (https://portal.azure.com/)。在 Azure 门户右上角&#xff0c;点击“虚拟机”按钮&#xff0c;并点击创建&#xff0c;创建Azure虚拟机。 在虚拟机创建页面中&#xff0c;选择所需的基本配置&#xff0c;包括虚拟机名称、操作系统类型和版…

threejs纹理的使用

实现地板的效果&#xff0c;需要导入3张图片&#xff0c;第一种样式&#xff0c;第二种&#xff0c;木板间的间隙&#xff0c;第三种&#xff0c;木板的粗细图片。先注册一个物体属性&#xff0c;在物体属性上加上图片&#xff0c;注册代码如下图&#xff1a; const floorMat …

乡村振兴指数与其30余个原始变量数据(2000-2022年)

乡村振兴是当下经济学研究的热点之一&#xff0c;对乡村振兴进行测度&#xff0c;是研究基础。测度乡村振兴水平的学术论文广泛发表在《数量经济技术经济研究》等顶刊上。整理了2000-2022年城市层面的乡村振兴指数与其30余个原始变量数据&#xff0c;供大家使用。 数据来源&…

大数据Flink(六十二):批处理的入门案例

文章目录 批处理的入门案例 一、示例 二、​​​​​​​开发步骤

Ae 效果:CC Environment

透视/CC Environment Perspective/CC Environment CC Environment&#xff08;CC 环境&#xff09;主要用于创建 3D 环境映射&#xff0c;可以将一个 2D 图像转换为 3D 空间的反射或折射。该效果通常用于模拟真实世界的全景相机镜头和环境反射。 在实际操作中&#xff0c;可将效…

阿里云服务器带宽计费模式怎么选?有什么区别?

阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算&#xff1f;阿里云百科以北京地域为例&#xff0c;按固定带宽计费1M带宽一个月23元&#xff0c;按使用流量计费1GB流量0.8元&#xff0c;如果云服务器带宽使用率低于10%&#xff0c;那么首选按使用流量计费&#x…

中国省级、城市-数字经济创新创业、分项指数(2010-2020年)

一、数据介绍 数据名称&#xff1a;中国省级、城市-数字经济创新创业、分项指数 数据年份&#xff1a;2010-2020年 数据范围&#xff1a;31省、336个城市 数据来源&#xff1a;北大企业大数据研究中心 二、参考文献 参考文献&#xff1a; 戴若尘,王艾昭,陈斌开.中国数字…

【C++】模拟实现map和set(用红黑树进行封装)

模拟实现map和set 前言正式开始简单框架data的比较迭代器operatoroperator-\-[ ]重载 前言 本篇以前一篇红黑树模拟实现插入功能为基础&#xff1a;【C】红黑树模拟实现插入功能(包含旋转和变色) 本篇中不会再讲解关于旋转和变色的知识。只是对于红黑树进行简单的封装。 如果…

java操作mongdb【超详细】

Java操作 搭建 搭建 依赖 <!--mongodb--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>配置文件 spring:data:mongodb:host…

opencv图片换背景色

#include <iostream> #include<opencv2/opencv.hpp> //引入头文件using namespace cv; //命名空间 using namespace std;//opencv这个机器视觉库&#xff0c;它提供了很多功能&#xff0c;都是以函数的形式提供给我们 //我们只需要会调用函数即可in…

烧写PYNQ镜像到SD卡

一&#xff0c;安装 Win32diskimager 首先将Micro SD卡插入读卡器的卡槽中&#xff0c;然后再将读卡器插入计算机USB接口&#xff0c;此时计算机将会识别到插入的可移动磁盘。双击打开Win32DiskImager-1.0.0.zip 压缩文件&#xff0c;里面win32diskimager-1.0.0-install.exe文…

ORCA优化器浅析——CDXLOperator Base class for operators in a DXL tree

如上图所示&#xff0c;CDXLOperator作为Base class for operators in a DXL tree&#xff0c;其子类CDXLLogical、CDXLScalar、CDXLPhysical作为逻辑节点、物理节点和Scalar节点的DXL表示类&#xff0c;因此其包含了这些类的共同部分特性&#xff0c;比如获取其DXL节点表示的函…

CNN之图像识别

文章目录 1. 图像识别1.1 模式识别1.2 图像识别的过程1.3 图像识别的应用 2. 深度学习发展2.1 深度学习为何崛起2.2 分类与检测2.3 常见的卷积神经网络 3. VGG3.1 VGG163.2 VGG16的结构&#xff1a;3.3 使用卷积层代替全连接3.4 1*1卷积的作用3.5 VGG16代码示例 4. 残差模型-Re…

ctfshow-web8

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 这道题实际上就是一个单纯的布尔型盲注&#xff0c;只不过是过滤了一些东西&#xff0c;一个是过滤的空格&#xff0c;还有一个是过滤了逗号 那么我们需要做的就是对这两个进行绕过&#xff0c;空格还是用/**…

Spring系列五:手动实现Spring底层机制

文章目录 &#x1f35d;类加载器和classpath详解 &#x1f497;实现任务阶段1&#x1f35a;编写自己Spring容器, 扫描包得到bean的class对象 &#x1f497;实现任务阶段2&#x1f35a;扫描将bean信息封装到BeanDefinition对象, 并放入到Map &#x1f497;实现任务阶段3&#x1…

Unity 鼠标控制 UI 放大、缩小、拖拽

文章目录 1. 代码2. 测试场景 1. 代码 using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems;public class UIDragZoom : MonoBehaviour, IDragHandler, IScrollHandler {private Vector2 originalSize;private Vector2 originalPosition;private RectTr…