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

news2024/11/22 18:29:29

在这里插入图片描述

第1题:倒序输出

依次输入4个整数a、b、c、d,将他们倒序输出,即依次输出d、c、b、a这4个数。
时间限制:1000
内存限制:65536
输入
一行4个整数a、b、c、d,以空格分隔。 0 < a,b,c,d < 108
输出
一行4个整数d、c、b、a,整数之间以一个空格分隔。
样例输入
1 2 3 4
样例输出
4 3 2 1

下面是一个使用C语言编写的倒序输出的程序的示例代码:

#include <stdio.h>

int main() {
    int a, b, c, d;
    scanf("%d %d %d %d", &a, &b, &c, &d);

    printf("%d %d %d %d\n", d, c, b, a);

    return 0;
}

在上述代码中,我们使用scanf函数读取输入的四个整数abcd,并使用%d作为格式化字符串。

然后,我们使用printf函数按倒序输出这四个整数。我们通过在格式化字符串中依次写入变量dcba,并使用空格进行分隔,最后加上换行符\n

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

第2题:平方差计算

给定的两个整数a, b, 他们的平方差结果为a2-b2 ,可以化简为 (a + b)(a-b)。例如5和4的平方差为52-42=(5+4)(5-4)=9。现给定两个整数,求他们的平方差。
时间限制:1000
内存限制:65536
输入
一行两个整数a、b,以空格分隔。 0 < b < a < 104
输出
输出a和b的平方差
样例输入
5 4
样例输出
9

下面是一个使用C语言编写的计算平方差的程序的示例代码:

#include <stdio.h>

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

    int square_diff = (a + b) * (a - b);

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

    return 0;
}

在上述代码中,我们使用scanf函数读取输入的两个整数ab

然后,我们定义一个变量square_diff来保存平方差的结果,并计算(a + b) * (a - b)的值,并将其赋给square_diff

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

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

第3题:最小的数

依次输入3个整数a、b、c,将a、b、c中的最小值输出。
时间限制:1000
内存限制:65536
输入
一行3个整数a、b、c,以空格分隔。 0 < a,b,c < 108
输出
1个整数,即3个整数的最小值。
样例输入
2 3 2
样例输出
2

下面是一个使用C语言编写的找到三个整数中最小值的程序的示例代码:

#include <stdio.h>

int findMin(int a, int b, int c) {
    int min = a;

    if (b < min) {
        min = b;
    }

    if (c < min) {
        min = c;
    }

    return min;
}

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);

    int min = findMin(a, b, c);

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

    return 0;
}

在上述代码中,我们首先定义了一个辅助函数findMin,它接受三个整数参数abc,并返回这三个数中的最小值。在函数内部,我们使用一个变量min来保存当前的最小值,初始值为a。然后,我们通过一系列的条件判断语句来更新min的值,将其更新为bc,如果它们的值更小。最后,我们返回min作为函数的结果。

main函数中,我们使用scanf函数读取输入的三个整数abc

然后,我们调用findMin函数,传入abc作为参数,以获得最小值,并将其赋给变量min

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

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

第4题:计算成绩优秀的人数

现有一个班一门课程考试的分数,请统计其中成绩为优秀的人数。成绩为优秀的要求是分数大于等于85。
时间限制:1000
内存限制:65536
输入
第一行1个整数n,表示分数的个数。(0 < n ≤ 100, ) 第二行n个正整数,表示每一个分数,每个分数小于等于100。
输出
输出一个整数,表示成绩为优秀的人数。
样例输入
10
85 70 99 90 78 55 100 62 88 84
样例输出
5

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

#include <stdio.h>

int countExcellent(int scores[], int n) {
    int count = 0;

    for (int i = 0; i < n; i++) {
        if (scores[i] >= 85) {
            count++;
        }
    }

    return count;
}

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

    int scores[n];
    for (int i = 0; i < n; i++) {
        scanf("%d", &scores[i]);
    }

    int excellentCount = countExcellent(scores, n);

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

    return 0;
}

在上述代码中,我们首先定义了一个辅助函数countExcellent,它接受一个整数数组scores和数组的长度n作为参数,并返回成绩优秀的人数。在函数内部,我们定义一个变量count来保存成绩优秀的人数,初始值为0。然后,我们使用一个循环遍历数组中的每个分数,如果分数大于等于85,则将count加1。最后,我们返回count作为函数的结果。

main函数中,我们首先使用scanf函数读取输入的分数的个数n

然后,我们定义一个大小为n的整数数组scores来保存每个分数。

接下来,我们使用一个循环读取输入的每个分数,并将其存储到数组scores中。

然后,我们调用countExcellent函数,传入数组scoresn作为参数,以获得成绩优秀的人数,并将其赋给变量excellentCount

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

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

第5题:开关灯

假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。
第一个人(1号)将灯全部关闭,第二个人(2号)将编号为2的倍数的灯打开,第三个人(3号)将编号为3的倍数的灯做相反处理(即,将打开的灯关闭,将关闭的灯打开)。依照编号递增顺序,以后的人都和3号一样,将凡是自己编号倍数的灯做相反处理。
请问:当第M个人操作之后,哪几盏灯是关闭的,按从小到大输出其编号,其间用逗号间隔。
时间限制:1000
内存限制:65536
输入
输入正整数N和M,以单个空格隔开。
输出
顺次输出关闭的灯的编号,其间用逗号间隔。
样例输入
10 10
样例输出
1,4,9

下面是一个使用C语言编写的开关灯问题的程序的示例代码:

#include <stdio.h>
#include <stdbool.h>

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

    bool lights[N + 1];  // 使用布尔数组表示灯的状态,下标从1到N

    // 初始化灯的状态,全部为开启状态
    for (int i = 1; i <= N; i++) {
        lights[i] = true;
    }

    // 模拟M个人的操作
    for (int i = 1; i <= M; i++) {
        for (int j = i; j <= N; j += i) {
            lights[j] = !lights[j];  // 改变灯的状态
        }
    }

    // 输出关闭的灯的编号
    bool first = true;  // 用于控制逗号的输出
    for (int i = 1; i <= N; i++) {
        if (!lights[i]) {
            if (!first) {
                printf(",");
            }
            printf("%d", i);
            first = false;
        }
    }
    printf("\n");

    return 0;
}

在上述代码中,我们首先使用scanf函数读取输入的灯的数量N和人的数量M

然后,我们定义一个布尔数组lights来表示灯的状态,数组的下标从1到N,初始时全部为开启状态。

接下来,我们使用两个嵌套的循环模拟M个人的操作。外层循环控制每个人的编号,内层循环根据当前人的编号,改变对应倍数的灯的状态,即将开启的灯关闭,将关闭的灯开启。

完成所有操作后,我们使用一个循环遍历灯的状态数组,输出关闭的灯的编号。使用变量first来控制逗号的输出,确保正确的格式。

最后,我们使用printf函数输出换行符。

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

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

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

相关文章

11.集群调度

文章目录 集群调度调度约束list-watc机制的概念pod的创建流程 调度过程Scheduler 作用预选策略优选策略指定调度节点nodeNamenodeSelector 亲和性node亲和pod亲和pod反亲和 污点&#xff08;Taint&#xff09;和容忍&#xff08;Tolerations&#xff09;污点(Taint)容忍(Tolera…

QT的界面切换

QT的界面切换 步骤一: 创建一个新的 ui 界面

pycharm配置conda虚拟环境

&#x1f4d5;作者简介&#xff1a;热编程的贝贝&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步健身&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于贝贝的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏深度学习、…

安装paddlehub后测试运行报错

昨晚按照官网提示安装paddle和paddlehub后&#xff0c;运行paddle测试成功了。但是当我测试paddlehub的时候总是提示缺少模块&#xff0c;非常纳闷&#xff0c;后面发现是官方的坑&#xff0c;所以在这里做个笔记。 测试paddlehub报错&#xff1a; #安装paddlehub命令 pip in…

权限管理之admin数据不可编辑

效果图 在线地址&#xff1a;https://codesandbox.io/s/authorizedbyrole-yzy4r2?file/src/util/directive.js 当前用户为非管理员角色 环境 vuetify2.6.6 vuex javascript 事情经过 一般的系统&#xff0c;都是采用**RBAC模型&#xff1a;基于用户-角色-权限控制** 所以在…

前端接口修改工具 Requestly具体操作

更新于2023年8月12日18:17:56&#xff0c;插件版本可能会变&#xff0c;界面可能会有所变化 插件下载地址&#xff1a;https://chrome.google.com/webstore/detail/requestly-open-source-htt/mdnleldcmiljblolnjhpnblkcekpdkpa 注意&#xff0c;必须用谷歌浏览器&#xff0c;…

安达发|APS车间排产软件对PCB企业有哪些意义?

PCB(printed circuit board)即印制线路板&#xff0c;简称印制板&#xff0c;是电子工业的重要部件之一。几乎每种电子设备&#xff0c;小到电子手表、计算器&#xff0c;大到计算机、通信电子设备、军用武器系统&#xff0c;只要有集成电路等电子元件&#xff0c;为了使各个元…

中科亿海微乘法器(LPMMULT)

引言 FPGA&#xff08;可编程逻辑门阵列&#xff09;是一种可在硬件级别上重新配置的集成电路。它具有灵活性和可重构性&#xff0c;使其成为处理各种应用的理想选择&#xff0c;包括数字信号处理、图像处理、通信、嵌入式系统等。在FPGA中&#xff0c;乘法器是一种重要的硬件资…

WPS-0DAY-20230809的分析和利用复现

WPS-0DAY-20230809的分析和初步复现 一、漏洞学习1、本地复现环境过程 2、代码解析1.htmlexp.py 3、通过修改shellcode拿shell曲折的学习msf生成sc 二、疑点1、问题2、我的测试测试方法测试结果 一、漏洞学习 强调&#xff1a;以下内容仅供学习和测试&#xff0c;一切行为均在…

STM32CubeMX之freeRTOS中断系统

任何中断的优先级都大于任务 优先级是从5-15 而不是0-15 因为前几个已经被freertos所控制了&#xff0c;因为操作系统不是万能的&#xff0c;所以我们需要弄一些中断凌驾在我们操作系统之上&#xff0c;中断中必须使用中断相关的函数&#xff01; 中断不能使用阻塞函数&#…

数据结构:力扣OJ题

目录 ​编辑题一&#xff1a;链表分割 思路一&#xff1a; 题二&#xff1a;相交链表 思路一&#xff1a; 题三&#xff1a;环形链表 思路一&#xff1a; 题四&#xff1a;链表的回文结构 思路一&#xff1a; 链表反转&#xff1a; 查找中间节点&#xff1a; 本人实力…

特语云用Linux和MCSM面板搭建 我的世界基岩版插件服 教程

Linux系统 用MCSM和DockerWine 搭建 我的世界 LiteLoaderBDS 服务器 Minecraft Bedrock Edition 也就是我的世界基岩版&#xff0c;这是 Minecraft 的另一个版本。Minecraft 基岩版可以运行在 Win10、Android、iOS、XBox、switch。基岩版不能使用 Java 版的服务器&#xff0c;…

Java多线程(十)

目录 一、synchronized基本特点 二、synchronized加锁工作过程 2.1 无锁 2.2 偏向锁 2.3 轻量级锁 2.4 重量级锁 三、synchronized其他优化操作 3.1 锁消除 3.2 锁粗化 一、synchronized基本特点 开始是乐观锁&#xff0c;如果锁冲突频繁就会转换成悲观锁开始是轻量级锁&#x…

python小白之matplotlib使用实战项目:随机漫步

文章目录 随机漫步1.1 创建RandomWalk类1.2 选择方向1.3 绘制随机漫步图1.4 模拟多次随机漫步1.5 设置随机漫步图样式1.5.1 给点着色1.5.2 重新绘制起点和终点1.5.3 隐藏坐标轴1.5.4 增加点数1.5.5 调整图片尺寸以适应屏幕 附录&#xff08;项目代码&#xff09;random_walk.py…

Linux 外部命令 - cat

Linux 外部命令 cat 英文帮助 NAME cat - concatenate files and print on the standard output SYNOPSIS cat [OPTION]... [FILE]... DESCRIPTION Concatenate FILE(s) to standard output. With no FILE, or when FILE is -, read standard input.…

ChatAI的几十种高级用法,可能是比较全的了(文末送书)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

【Kafka】1.Kafka简介及安装

目 录 1. Kafka的简介1.1 使用场景1.2 基本概念 2. Kafka的安装2.1 下载Kafka的压缩包2.2 解压Kafka的压缩包2.3 启动Kafka服务 1. Kafka的简介 Kafka 是一个分布式、支持分区&#xff08;partition&#xff09;、多副本&#xff08;replica&#xff09;、基于 zookeeper 协调…

消息中间件 —— 初识Kafka

文章目录 1、Kafka简介1.1、消息队列1.1.1、为什么要有消息队列&#xff1f;1.1.2、消息队列1.1.3、消息队列的分类1.1.4、p2p 和 发布订阅MQ的比较1.1.5、消息系统的使用场景1.1.6、常见的消息系统 1.2、Kafka简介1.2.1、简介1.2.2、设计目标1.2.3、kafka核心的概念 2、Kafka的…

Java pb3中 int类型的字段值0怎么判断是未设置值还是设置了值0

Java pb3中 int类型的字段值0怎么判断是未设置值还是设置了值0 1. 效果图2. 源码参考 Java pb3对 各种类型的默认值进行序列化时省略了。如int类型的字段为0或者null都会省略&#xff0c;但反序列化都可以序列化为0. proto3&#xff0c; required 和 optional 已在新语法中删除…

闲鱼卖货:新手容易踩坑的7个地方。赶紧看看有没有中招?

科思创业汇 大家好&#xff0c;这里是科思创业汇&#xff0c;一个轻资产创业孵化平台。赚钱的方式有很多种&#xff0c;我希望在科思创业汇能够给你带来最快乐的那一种&#xff01; 这是我以前的一个学生收到的第一个非法通知。他告诉我&#xff0c;他当时很害怕&#xff0c;…