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

2024-03-07 05:44

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

目录

  • T1. 输出整数部分
    • 思路分析
  • T2. 疫情集中隔离
    • 思路分析
  • T3. 字符判断
    • 思路分析
  • T4. 统计数
    • 思路分析
  • T5. 最大质因子
    • 思路分析

T1. 输出整数部分

输入一个双精度浮点数 f f f,输出其整数部分。

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

  • 输入
    一个双精度浮点数 f f f 0 < f < 100000000 0 < f < 100000000 0<f<100000000
  • 输出
    一个整数,表示浮点数的整数部分。
  • 样例输入
    3.8889
    
  • 样例输出
    3
    

思路分析

此题考查基本输入输出与强制类型转换,属于入门题。

此题只需要在输出时将变量 f 强制转换为 int 类型即可。

/** Name: T1.cpp* Problem: 输出整数部分* Author: Teacher Gao.* Date&Time: 2024/03/04 22:10*/#include <iostream>using namespace std;int main()
{double f;cin >> f;cout << int(f) << endl;return 0;
}

T2. 疫情集中隔离

A A A 同学 12 12 12 月初从国外回来,按照防疫要求,需要进行 14 14 14 天集中隔离,请你实现一个程序,根据回国的时间计算集中隔离结束的日期。

比如, 12 12 12 1 1 1 号回来, 1 1 1 号当天开始隔离, 14 14 14 号是隔离的最后一天,因此 14 14 14 号是集中隔离结束的日期。

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

  • 输入
    一个整数 x x x,表示 A A A 同学 12 12 12 x x x 号回国。 1 ≤ x ≤ 15 1 ≤ x ≤ 15 1x15
  • 输出
    一个整数 y y y,表示 A A A 同学结束集中隔离的日期,即 12 12 12 y y y A A A 结束集中隔离。
  • 样例输入
    1
    
  • 样例输出
    14
    

思路分析

此题考查算术运算,属于入门题。

此题只需要将变量 x 加上 13 13 13 并输出即可。之所以加 13 13 13 是因为回国当天算隔离的第 1 1 1 天,后续只需要再隔离 13 13 13 天即可,也就是 13 13 13 天后就是隔离的最后一天。

/** Name: T2.cpp* Problem: 疫情集中隔离* Author: Teacher Gao.* Date&Time: 2024/03/04 22:12*/#include <iostream>using namespace std;int main()
{int x;cin >> x;cout << x + 13;return 0;
}

T3. 字符判断

对于给定的字符,如果该字符是大小写字母或者数字,输出 YES,否则输出 NO

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

  • 输入
    一个字符。
  • 输出
    按照题目要求输出 YES 或者 NO
  • 样例输入 1 1 1
    A
    
  • 样例输出 1 1 1
    YES
    
  • 样例输入 2 2 2
    a
    
  • 样例输出 2 2 2
    YES
    
  • 样例输入 3 3 3
    1
    
  • 样例输出 3 3 3
    YES
    
  • 样例输入 4 4 4
    *
    
  • 样例输出 4 4 4
    NO
    

思路分析

此题考察分支结构,属于入门题。不过分类较多,较为复杂。思路与同年 6 6 6 月份考试的 T3 一致,可以参考 2021 年 6 月青少年软编等考 C 语言一级真题解析中的 T3。

/** Name: T3.cpp* Problem: 字符判断* Author: Teacher Gao.* Date&Time: 2024/03/04 22:13*/#include <iostream>using namespace std;int main()
{char ch;cin >> ch;if ('0' <= ch && ch <= '9') {cout << "YES" << endl;}else if ('A' <= ch && ch <= 'Z') {cout << "YES" << endl;}else if ('a' <= ch && ch <= 'z') {cout << "YES" << endl;}else {cout << "NO" << endl;}return 0;
}

T4. 统计数

给定一个数的序列 S S S,以及一个区间 [ L , R ] [L, R] [L,R],求序列中介于该区间的数的个数,即序列中大于等于 L L L 且小于等于 R R R 的数的个数。

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

  • 输入
    第一行 3 3 3 个整数 n , L , R n, L, R n,L,R,分别表示序列的长度,区间的左端点,区间的右端点。 0 < n ≤ 10000 0 < n ≤ 10000 0<n10000 1 ≤ L ≤ R ≤ 1000000 1 ≤ L ≤ R ≤ 1000000 1LR1000000
    第二行 n n n 个正整数,表示序列里的每一个数,每个数小于等于 10000000 10000000 10000000
  • 输出
    输出一个整数,表示序列中大于等于 L L L 且小于等于 R R R 的数的个数。
  • 样例输入
    5 1 10
    11 8 1 10 16
    
  • 样例输出
    3
    

思路分析

此题考查循环结构,以及分支结构判断范围,属于入门题。

此题需要依次判断输入的每个数 x。若 x 大于等于 L L L 并且小于等于 R R R ,则将 x 累加。

/** Name: T4.cpp* Problem: 统计数* Author: Teacher Gao.* Date&Time: 2024/03/04 22:17*/#include <iostream>using namespace std;int main()
{int n, L, R, x;cin >> n >> L >> R;int tot = 0;for (int i = 1; i <= n; i++) {cin >> x;if (L <= x && x <= R) {tot++;}}cout << tot << endl;return 0;
}

T5. 最大质因子

质因子是指能整除给定正整数的质数。而最大质因子是指一个整数的所有质因子中最大的那个。

比如 30 30 30 的质因子有 2 2 2 3 3 3 5 5 5,所以最大质因子就是 5 5 5

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

  • 输入
    一个整数 n n n 2 ≤ n ≤ 10000 2 ≤ n ≤ 10000 2n10000
  • 输出
    n n n 的最大质因子
  • 样例输入
    30
    
  • 样例输出
    5
    

思路分析

此题考查质数判断,需要用到循环结构,属于一般应用题。

此题可以用循环遍历从 n n n 2 2 2 的所有整数,依次判断每个整数 i 是否为 n 的因子。若是 n 的因子,则继续判断 i 是否为质数。若为质数,则输出 i 即可结束程序。

思路与同年 9 9 9 月份考试的 T5 大体相同,只是需要在判断 i 是否为质数之前先判断一下 i 是否为 n 的因子。质数判断过程的分析可以参考 2021 年 9 月青少年软编等考 C 语言一级真题解析中的 T5。

/** Name: T5.cpp* Problem: 最大质因子* Author: Teacher Gao.* Date&Time: 2024/03/04 22:20*/#include <iostream>using namespace std;int main()
{int n;cin >> n;for (int i = n; i >= 2; i--) {if (n % i == 0) {// 条件成立,说明 i 是 n 的因子// 接下来用标记法判断 i 是否为质数bool flag = 1;for (int j = 2; j * j <= i; j++) {if (i % j == 0) {flag = 0;break;}}if (flag) {cout << i << endl;break;}}}return 0;
}

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



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

相关文章

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. 建立数据库连接二、定义模型结构体三、自动迁