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

news2024/11/25 14:59:25

在这里插入图片描述

第1题:输出整数部分

输入一个双精度浮点数f, 输出其整数部分。
时间限制:1000
内存限制:65536
输入
一个双精度浮点数f(0 < f < 100000000)。
输出
一个整数,表示浮点数的整数部分。
样例输入
3.8889
样例输出
3

下面是一个使用C语言编写的输出双精度浮点数整数部分的程序的示例代码:

#include <stdio.h>
#include <math.h>

int main() {
    double f;
    scanf("%lf", &f);

    int integerPart = (int)floor(f);

    printf("%d\n", integerPart);

    return 0;
}

在上述代码中,我们首先使用scanf函数读取输入的双精度浮点数f

然后,我们使用floor函数将f向下取整,得到其整数部分。由于floor函数返回的是double类型的值,我们将其强制转换为int类型,以得到整数部分的整数值。

最后,我们使用printf函数输出变量integerPart的值。

你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。

第2题:疫情集中隔离

A同学12月初从国外回来,按照防疫要求,需要进行14天集中隔离,请你实现一个程序,根据回国的时间计算集中隔离结束的日期。
比如,12月1号回来,1号当天开始隔离,14号是隔离的最后一天,因此14号是集中隔离结束的日期。
时间限制:1000
内存限制:65536
输入
一个整数x,表示A同学12月x号回国。(1 ≤ x ≤ 15)
输出
一个整数y,表示A同学结束集中隔离的日期(即12月y号A结束集中隔离)。
样例输入
1
样例输出
14

根据题目描述,我们需要根据回国的时间计算集中隔离结束的日期。假设回国的日期为12月x号,集中隔离的天数为14天,则集中隔离结束的日期为12月x+14号。

下面是一个使用C语言编写的计算集中隔离结束日期的程序的示例代码:

#include <stdio.h>

int main() {
    int x;
    scanf("%d", &x);

    int endDate = x + 14;

    printf("%d\n", endDate);

    return 0;
}

在上述代码中,我们首先使用scanf函数读取输入的整数x,表示回国的日期。

然后,我们将回国的日期x加上14,得到集中隔离结束的日期endDate

最后,我们使用printf函数输出变量endDate的值。

你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。

第3题:字符判断

对于给定的字符,如果该字符是大小写字母或者数字,输出YES, 否则输出NO
时间限制:1000
内存限制:65536
输入
一个字符
输出
按照题目要求输出YES或者NO
样例输入
样例1输入
A
样例2输入
a
样例3输入
1
样例4输入
*
样例输出
样例1输出
YES
样例2输出
YES
样例3输出
YES
样例4输出
NO
提示
【样例输入】、【样例输出】里的多组数据只是给大家提供尽量多的参考,”样例1输入“、”样例1输出“等提示文字也只是为了区别不同的数据,输入输出中不会出现。输入输出的格式按照题目里【输入】【输出】的描述为准。

下面是一个使用C语言编写的判断字符类型的程序的示例代码:

#include <stdio.h>

int main() {
    char c;
    scanf("%c", &c);

    if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')) {
        printf("YES\n");
    } else {
        printf("NO\n");
    }

    return 0;
}

在上述代码中,我们首先使用scanf函数读取输入的字符c

然后,我们使用条件语句判断字符c的类型。如果c是大小写字母或者数字,即满足条件(c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9'),则输出"YES";否则输出"NO"。

最后,我们使用printf函数输出结果。

你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。

第4题:统计数

给定一个数的序列S,以及一个区间[L, R], 求序列中介于该区间的数的个数,即序列中大于等于L且小于等于R的数的个数。
时间限制:1000
内存限制:65536
输入
第一行3个整数n、L、R,分别表示序列的长度,区间的左端点,区间的右端点。(0 < n ≤ 10000, 1 ≤ L ≤ R ≤ 1000000) 第二行n个正整数,表示序列里的每一个数,每个数小于等于10000000
输出
输出一个整数,表示序列中大于等于L且小于等于R的数的个数。
样例输入
5 1 10
11 8 1 10 16
样例输出
3

下面是一个使用C语言编写的统计数的程序的示例代码:

#include <stdio.h>

int main() {
    int n, L, R;
    scanf("%d %d %d", &n, &L, &R);

    int count = 0;
    for (int i = 0; i < n; i++) {
        int num;
        scanf("%d", &num);

        if (num >= L && num <= R) {
            count++;
        }
    }

    printf("%d\n", count);

    return 0;
}

在上述代码中,我们首先使用scanf函数读取输入的三个整数nLR,分别表示序列的长度、区间的左端点和区间的右端点。

然后,我们定义一个变量count来统计序列中大于等于L且小于等于R的数的个数,并将其初始值设为0。

接下来,我们使用一个循环来遍历序列中的每个数。在循环中,我们使用scanf函数读取序列中的每个数,并判断该数是否大于等于L且小于等于R。如果满足条件,则将count加1。

最后,我们使用printf函数输出变量count的值。

你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。

第5题:最大质因子

质因子是指能整除给定正整数的质数。而最大质因子是指一个整数的所有质因子中最大的那个。
比如30的质因子有2,3, 5,所以最大质因子就是5。
时间限制:1000
内存限制:65536
输入
一个整数N( 2 ≤ N ≤ 10000)
输出
N的最大质因子
样例输入
30
样例输出
5
提示
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。

下面是一个使用C语言编写的求最大质因子的程序的示例代码:

#include <stdio.h>

int isPrime(int n) {
    if (n <= 1) {
        return 0;
    }

    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            return 0;
        }
    }

    return 1;
}

int main() {
    int N;
    scanf("%d", &N);

    int maxPrimeFactor = 0;
    for (int i = 2; i <= N; i++) {
        if (N % i == 0 && isPrime(i)) {
            maxPrimeFactor = i;
        }
    }

    printf("%d\n", maxPrimeFactor);

    return 0;
}

在上述代码中,我们首先定义了一个辅助函数isPrime,用于判断一个数是否为质数。在该函数中,我们首先判断小于等于1的数不是质数,然后使用一个循环从2到根号n的范围内判断是否有因子能整除n,如果有则不是质数,返回0;否则是质数,返回1。

然后,在main函数中,我们使用scanf函数读取输入的整数N。

接下来,我们定义一个变量maxPrimeFactor来保存最大质因子的值,并将其初始值设为0。

然后,我们使用一个循环从2到N遍历每个数,并判断是否为N的因子,并且是质数。如果满足条件,则将当前数赋值给maxPrimeFactor

最后,我们使用printf函数输出变量maxPrimeFactor的值。

你可以根据需要使用上述示例代码,并根据题目要求进行适当的修改。记得在编译和运行代码之前,确保你的编译环境已经配置好,并且包含了必要的头文件。

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

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

相关文章

Vue.js2+Cesium1.103.0 八、动态光墙效果

Vue.js2Cesium1.103.0 八、动态光墙效果 Demo <template><divid"cesium-container"style"width: 100%; height: 100%;"/> </template><script> /* eslint-disable no-undef */ import /utils/dynamicWallMaterialProperty.js exp…

浅谈AI人工智能ChatGpt提升竞彩足球分析准确率最高的分析软件

随着科技的不断进步&#xff0c;人工智能正在扮演着越来越重要的角色。在体育领域&#xff0c;特别是足球竞猜中&#xff0c;AI人工智能ChatGpt正以其卓越的分析能力引起了广泛的关注。作为一款以大数据分析为基础的分析软件&#xff0c;AI人工智能ChatGpt不仅可以提供准确的数…

树莓派命令行运行调用音频文件的函数,不报错,没有声音解决办法

树莓派接上音频首先需要切换音频不是HDMI&#xff0c;然后可以双击运行wav文件可以播放&#xff0c;但是&#xff1a; 命令行直接运行wav文件报错&#xff1a; Playing WAVE twzc.wav : Signed 16 bit Little Endian, Rate 16000 Hz, Mono命令行运行main方法也是无法播放&am…

Linux学习————redis服务

目录 一、redis主从服务 一、redis主从服务概念 二、redis主从服务作用 三、缺点 四、主从复制流程 五、搭建主从服务 配置基础环境 下载epel源&#xff0c;下载redis​编辑 二、哨兵模式 一、概念 二、作用 三、缺点 四、结构 五、搭建 修改哨兵配置文件 启动服务…

骨传导耳机对耳朵有损害吗?最不伤耳的骨传导耳机

骨传导耳机对耳朵有损害吗&#xff1f; 骨传导是除了空气传导之外另一种很重要的听觉方式&#xff0c;它是通过骨骼进行传递声音的&#xff0c;利用骨头振动的原理&#xff0c;声音直接绕过耳膜等神经单元&#xff0c;声音直接传送到内部耳神经。 骨传导耳机的原理就是通过人体…

React 全栈体系(一)

第一章 React入门 一、React简介 1. 是什么&#xff1f; 是一个将数据渲染为HTML视图的开源JavaScript库。 2. 谁开发的&#xff1f; 由Facebook开源 3. 为什么要学&#xff1f; 原生JavaScript操作DOM繁琐&#xff0c;效率低&#xff08;DOM-API 操作 UI&#xff09; 使…

nvidia驱动更新导致驱动版本不匹配

关于nvidia驱动自动更新&#xff1a; 和这篇描述类似&#xff1a;https://blog.csdn.net/weixin_43568307/article/details/128187469 记得记录原先版本 sudo dpkg-reconfigure unattended-upgrades 关闭一下自动更新。 当前主机做好快照备份&#xff0c;重新安装之前的驱…

代码随想录算法训练营第53天|动态规划part11|123. 买卖股票的最佳时机 III、188.买卖股票的最佳时机IV

代码随想录算法训练营第53天&#xff5c;动态规划part11&#xff5c;123. 买卖股票的最佳时机 III、 188.买卖股票的最佳时机IV 123. 买卖股票的最佳时机 III 123. 买卖股票的最佳时机 III 思路&#xff1a; 相比买股票的最佳时机II&#xff0c;限制了买股票的次数&#xf…

高端百度地图开发1:自定义水滴头像(自定义标注覆盖物、Overlay覆盖类)

自定义水滴头像&自定义标注覆盖物 一、引入百度地图JSAPI库二、构建map容器1. CSS样式表2.HTML容器 三、核心代码1.百度地图API功能2.定义构造函数并继承Overlay3.初始化自定义覆盖物4.绘制覆盖物5.添加覆盖物 自定义标注覆盖物&#xff08;Custom Overlay&#xff09;是百…

面部表情识别4:C++实现表情识别(含源码,可实时检测)

面部表情识别4&#xff1a;C实现表情识别(含源码&#xff0c;可实时检测) 目录 面部表情识别4&#xff1a;C实现表情识别(含源码&#xff0c;可实时检测) 1.面部表情识别方法 2.人脸检测方法 3.面部表情识别模型(Python) &#xff08;1&#xff09; 面部表情识别模型的训练…

Astro 搭建博客系列:添加 giscus 评论系统

Astro 支持动态插入 script&#xff0c;所以为集成 giscus 提供了便利。我们需要探究两个问题&#xff1a; 选用什么作为 页面 -> discussion 的映射&#xff1f;如何做到动态切换主题&#xff1f; 我们的文章详情链接是 http://127.0.0.1:3000/posts/[post-title] 的形式&…

03 - 通过git log可以查看版本演变历史

通过git log可以查看版本演变历史 主要包括&#xff1a; commit 哈希id提交的Author信息提交的日期和时间commit info信息 git log本人常用&#xff0c;显示简洁&#xff1a; git log --oneline当log条数很多的时候&#xff0c;可以如下指定显示的数量&#xff1a; git log…

Mass Adoption调研

MPC钱包 MPC是什么&#xff1f; MPC定义&#xff1a;Multi-Party Computation 多方计算 技术原理&#xff1a;MPC 钱包通过使用阈值签名方案 (TSS) 消除了单点问题 开源项目tss-lib: GitHub - bnb-chain/tss-lib: Threshold Signature Scheme, for ECDSA and EDDSA 和智能合约钱…

一个概率论例题引发的思考

浙江大学版《概率论与梳理统计》一书中的&#xff0c;第13章第1节例2如下&#xff1a; 这个解释和模型比较简单易懂。接下来&#xff0c;第2节的例2是一个关于此模型的题目&#xff1a; 在我自己的理解中&#xff0c;此题的解法跟上一个题目一样&#xff0c;第二级传输后&…

在SpringMVC环境下json字符串与对象转化 配置和对象方法

目录 1..json的使用 字符串与对象转化 2.通过spring配置的形式直接接受json格式字符串转化 1..json的使用 字符串与对象转化 1.导入一个json的jar坐标 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</…

超分任务中常见的上采样方式

文章目录 1. 线性插值方法1.1 最近邻算法 (Nearest Neighbor Interpolation)1.2 线性插值 (Linear Interpolation)1.3 双线性插值算法 (Bilinear Interpolation)1.4 双三次插值算法(Bicubic Interpolation) 2. 深度学习2.1 反卷积/转置卷积 (Deconvolution/Transposed Convolut…

猿辅导2023学习新主张:原来生活的答案藏在课堂里

妈妈让我贴春联&#xff0c;上下联要怎么看&#xff1f;井盖为什么是圆形的&#xff1f;妈妈让我买三斤土豆&#xff0c;要花多少钱&#xff1f;爬山后的第二天&#xff0c;为什么会腿酸&#xff1f;为什么冬天脱毛衣会“噼里啪啦”直响&#xff1f;……这些问题是不是似曾相识…

【C++初阶】string类的常见基本使用

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

组学知识速递(五)|ChIP-seq知多少?

近段时间来&#xff0c;我们合作的ChIP-Seq技术发表的高分成功案例一篇接一篇&#xff0c;您是否心动了呢&#xff1f;本篇文章&#xff0c;总结了ChIP-Seq实验部分重点知识点&#xff0c;开启ChIP-Seq的你绝不要错过&#xff01; Q1 什么是ChIP-Seq&#xff1f; ChIP-Seq即染…

基础堆排序

目录 基础堆排序 一、概念及其介绍 二、适用说明 三、过程图示 基础堆排序