2023 年 3 月青少年软编等考 C 语言一级真题解析

2024-03-09 06:12

本文主要是介绍2023 年 3 月青少年软编等考 C 语言一级真题解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • T1. 字符长方形
    • 思路分析
  • T2. 长方形面积
    • 思路分析
  • T3. 成绩等级转换
    • 思路分析
  • T4. 机智的小明
    • 思路分析
  • T5. 寻找特殊年号
    • 思路分析

T1. 字符长方形

给定一个字符,用它构造一个长为 4 4 4 个字符,宽为 3 3 3 个字符的长方形,可以参考样例输出。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入只有一行,包含一个字符。
  • 输出
    该字符构成的长方形,长 4 4 4 个字符,宽 3 3 3 个字符。
  • 样例输入
    *
    
  • 样例输出
    ****
    ****
    ****
    

思路分析

此题考查字符的输入输出,属于入门题。按照样例输出的格式编写代码输出即可。

/** Name: T1.cpp* Problem: 字符长方形* Author: Teacher Gao.* Date&Time: 2024/02/28 22:50*/#include <iostream>using namespace std;int main()
{char ch;cin >> ch;cout << ch << ch << ch << ch << endl;cout << ch << ch << ch << ch << endl;cout << ch << ch << ch << ch << endl;return 0;
}

T2. 长方形面积

给出一个长方形的长和宽,求该长方形的面积。假设长为 a a a,宽为 b b b,则面积 S = a × b S=a×b S=a×b

时间限制:1 s
内存限制:64 MB

  • 输入
    一行, 2 2 2 个正整数,以空格分隔,分别表示长方形的长和宽。长和宽都不大于 1000 1000 1000
  • 输出
    一个整数,即长方形的面积。
  • 样例输入
    4 3
    
  • 样例输出
    12
    

思路分析

此题考查算术运算,属于入门题。按照题目描述中的公式编写代码计算并输出即可。

/** Name: T2.cpp* Problem: 长方形面积* Author: Teacher Gao.* Date&Time: 2024/02/29 03:10*/#include <iostream>using namespace std;int main()
{int a, b;cin >> a >> b;cout << a * b << endl;return 0;
}

T3. 成绩等级转换

小明想将自己的百分制成绩转换为等级制,请你帮他完成这样的转换。转换规则为:

等级分数
A 90 ∼ 100 90 \sim 100 90100
B 77 ∼ 89 77 \sim 89 7789
C 67 ∼ 76 67 \sim 76 6776
D 60 ∼ 66 60 \sim 66 6066
E 0 ∼ 59 0 \sim 59 059

时间限制:1 s
内存限制:64 MB

  • 输入
    一个 0 ∼ 100 0 \sim 100 0100 的整数
  • 输出
    输出转换后的等级,一个 A ∼ E A \sim E AE 的大写字母。
  • 样例输入 1 1 1
    85
    
  • 样例输出 1 1 1
    B
    
  • 样例输入 2 2 2
    62
    
  • 样例输出 2 2 2
    D
    

思路分析

此题考查分支结构,属于入门题。

此题只需要按照题目描述,将输入数据依次与 60 , 67 , 77 , 90 60, 67, 77, 90 60,67,77,90 进行比较并输出对应的字符即可。也可以按照 90 , 77 , 67 , 60 90, 77, 67, 60 90,77,67,60 的顺序依次比较。

/** Name: T3.cpp* Problem: 成绩等级转换* Author: Teacher Gao.* Date&Time: 2024/02/29 03:12*/#include <iostream>using namespace std;int main()
{int a;cin >> a;if (a >= 90) {cout << "A" << endl;}else if (a >= 77) {cout << "B" << endl;}else if (a >= 67) {cout << "C" << endl;}else if (a >= 60) {cout << "D" << endl;}else {cout << "E" << endl;}return 0;
}

T4. 机智的小明

小明的妈妈非常关心小明的成绩,每次考试后都会问小明是否进步了。机智的小明会努力找出之前比这次成绩低的试卷进行比较,如果找到了,他会回答妈妈自己进步了(Y),如果没找到,他只能回答妈妈没进步(N)。已知小明的 n n n 次成绩,请问每次妈妈询问小明,小明的回答是怎么样的。

时间限制:1 s
内存限制:64 MB

  • 输入
    输入为 2 2 2 行,第 1 1 1 行是一个整数 n n n,即考试成绩的数量。
    第二行是 n n n 个整数,即每次考试成绩。
    输入保证 n n n 不大于 100 100 100,考试成绩在 0 0 0 100 100 100 之间。
  • 输出
    n n n 行,每行是小明的回答(YN)。
  • 样例输入
    5
    90 80 95 96 50
    
  • 样例输出
    N
    N
    Y
    Y
    N
    
  • 提示
    对于每一次成绩,只要之前的成绩有任意一次成绩比当前成绩低,就输出 Y,否则输出 N

思路分析

此题考查循环结构,以及分支结构比大小,有一定的难度,属于基础应用题。

此题只需要用第 1 ∼ i − 1 1 \sim i - 1 1i1 次考试成绩的最小值与第 i i i 次考试的成绩进行比较即可,若最小值小于第 i i i 次考试的成绩,则说明有进步,否则就没有进步。在没有进步时,说明前 i i i 次考试成绩的最小值就是第 i i i 次的成绩,所以此时需要更新最小值,以便进行下一次比较。

此题更新最小值的过程用到了打擂台的思想,可以参考 2022 年 6 月青少年软编等考 C 语言一级真题解析中的 T3。不同的是,这里是在循环中使用打擂台,我们需要一个专门的变量来存储擂主,并且将其初始值设为一个较大值。该值必须大到所有参与打擂台的元素都小于或等于该值,以保证所有元素均相同并且都是题目指定范围内最大值的情况下,仍然能够战胜擂主。因为我们最开始设置的擂主其实并不是参与打擂台的值,必须将其替换掉。

/** Name: T4.cpp* Problem: 机智的小明* Author: Teacher Gao.* Date&Time: 2024/02/29 03:15*/#include <iostream>using namespace std;int main()
{int n, x, a = 100;cin >> n;for (int i = 1; i <= n; i++) {cin >> x;if (x <= a) {cout << "N" << endl;a = x;}else {cout << "Y" << endl;}}return 0;
}

T5. 寻找特殊年号

年号中的每个数之和为 20 20 20 的年号是特殊年号。例如: 2099 2099 2099 1991 1991 1991 1892 1892 1892 是特殊的年号,而 2021 2021 2021 则不是。给定一个年号,找出严格大于给定年号的最小特殊年号。

时间限制:1 s
内存限制:64 MB

  • 输入
    年号:整数 y y y 1000 ≤ y ≤ 9000 1000≤y≤9000 1000y9000
  • 输出
    特殊年号:严格意义上大于 y y y 的最小年号,并且它的每个数之和为 20 20 20
  • 样例输入 1 1 1
    1892
    
  • 样例输出 1 1 1
    1919
    
  • 样例输入 2 2 2
    2021
    
  • 样例输出 2 2 2
    2099
    
  • 提示
    因为 2 + 0 + 9 + 9 = 20 2+0+9+9=20 2+0+9+9=20,所以 2099 2099 2099 是特殊年号。因为 2 + 0 + 2 + 1 = 5 2+0+2+1=5 2+0+2+1=5,所以 2021 2021 2021 不是特殊年号。 特殊年号可能大于 9000 9000 9000

思路分析

此题考查循环结构,以及数位拆分,属于一般应用题。难度和思路与 2022 2022 2022 12 12 12 月份考试的 T5 相似,可以参考 2022 年 12 月青少年软编等考 C 语言一级真题解析中的 T5。

此题对于每个枚举的变量 n,需要在数位拆分结束后判断累加器变量 sum 是否为 20 20 20,若是 20 20 20,则输出 n 即可结束程序。

/** Name: T5.cpp* Problem: 寻找特殊年号* Author: Teacher Gao.* Date&Time: 2024/02/29 03:21*/#include <iostream>using namespace std;int main()
{int n;cin >> n;while (++n) {int t = n, sum = 0;while (t) {sum += t % 10;t /= 10;}if (sum == 20) {cout << n << endl;break;}}return 0;
}

这篇关于2023 年 3 月青少年软编等考 C 语言一级真题解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/789756

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁