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

在这里插入图片描述

C/C++编程(1~8级)全部真题・点这里

第1题:字符三角形

描述
给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。
输入
输入只有一行, 包含一个字符。
输出
该字符构成的等腰三角形,底边长5个字符,高3个字符。
样例输入
*
1
样例输出
  *
 ***
*****

你可以使用C语言编写一个程序来构造一个底边长为5个字符、高为3个字符的等腰字符三角形。以下是示例代码:

#include <stdio.h>int main() {char ch;scanf("%c", &ch);printf("  %c\n", ch);printf(" %c%c%c\n", ch, ch, ch);printf("%c%c%c%c%c\n", ch, ch, ch, ch, ch);return 0;
}

在主函数中,我们声明了字符变量ch,使用scanf函数读取输入的字符。

接下来,我们使用printf函数打印构成等腰字符三角形的字符。在每一行,我们使用空格来控制字符的位置,然后使用%c格式化字符变量ch来打印字符。第一行有两个空格,第二行有一个空格,第三行没有空格。

最后,我们使用return 0;语句结束程序。

你可以将以上代码保存为一个.c文件,使用C语言编译器编译运行,输入一个字符,即可得到构造的等腰字符三角形输出结果。

第2题:计算(a+b)*(c-b)的值

描述
给定3个整数a、b、c,计算表达式(a+b)*(c-b)的值。
输入
输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
输出
输出一行,即表达式的值
样例输入
2 3 5
样例输出
10

你可以使用C语言编写一个程序来计算表达式(a+b)*(c-b)的值。以下是示例代码:

#include <stdio.h>int main() {int a, b, c;scanf("%d %d %d", &a, &b, &c);int result = (a + b) * (c - b);printf("%d\n", result);return 0;
}

在主函数中,我们声明了整数变量a、b、c,使用scanf函数读取输入的三个整数。

接下来,我们使用一个表达式将(a+b)*(c-b)的结果赋值给result变量。

最后,我们使用printf函数打印result的值。

你可以将以上代码保存为一个.c文件,使用C语言编译器编译运行,输入三个整数,即可得到表达式的值输出结果。

第3题:晶晶赴约会

晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课, 请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。注意YES 和NO都是大写字母!
输入
输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期 日。
输出
输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。
注 意YES和NO都是大写字母!
输入样例
2
输出样例
YES

你可以使用C语言编写一个程序来判断晶晶是否能接受贝贝的邀请。以下是示例代码:

#include <stdio.h>int main() {int day;scanf("%d", &day);if (day == 1 || day == 3 || day == 5) {printf("NO\n");} else {printf("YES\n");}return 0;
}

在主函数中,我们声明了整数变量day,使用scanf函数读取输入的日期。

接下来,我们使用条件语句判断day的值是否等于1、3或5。如果是,表示晶晶当天有课必须上课,输出"NO";否则,表示晶晶可以接受邀请,输出"YES"。

最后,我们使用printf函数打印结果。

你可以将以上代码保存为一个.c文件,使用C语言编译器编译运行,输入贝贝邀请晶晶去看展览的日期,即可得到是否接受邀请的输出结果。

第4题:角谷猜想

所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数, 则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整 数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个整数,将经过处理得到1的过程输出来。
输入
一个正整数 N(N <= 2, 000, 000)
输出
从输入整数到1的步骤,每一步为一行,每一部中描述计算过程。最后一行输出"End”。 如果输入为1,直接输出"End”。
样例输入
5
样例输出
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1
End

你可以使用C语言编写一个程序来实现角谷猜想。以下是示例代码:

#include <stdio.h>void collatzConjecture(int num) {while (num != 1) {printf("%d", num);if (num % 2 == 0) {printf("/2=");num /= 2;} else {printf("*3+1=");num = num * 3 + 1;}printf("%d\n", num);}printf("End\n");
}int main() {int num;scanf("%d", &num);collatzConjecture(num);return 0;
}

首先,我们定义了一个函数collatzConjecture,用于实现角谷猜想的计算过程。函数的参数是一个整数num。

在函数内部,我们使用while循环,判断num是否等于1。如果不等于1,则进行下一步的计算。

在每一步的计算过程中,我们输出当前的num值,并根据num的奇偶性进行不同的计算。如果num是偶数,我们将其除以2并输出计算结果;如果num是奇数,我们将其乘以3再加1,并输出计算结果。

最后,我们在循环结束后输出"End"表示计算过程结束。

在主函数中,我们声明了整数变量num,使用scanf函数读取输入的整数。

然后,我们调用collatzConjecture函数,传入num作为参数,进行角谷猜想的计算。

你可以将以上代码保存为一个.c文件,使用C语言编译器编译运行,输入一个正整数,即可得到经过处理得到1的过程的输出结果。

第5题:求满足条件的3位数

编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为:
1.该数为完全平方数
2.该数至少有2位数字相同
例如,100同时满足上面两个条件。
输入
输入一个数n,n的大小不超过实际满足条件的3位数的个数。
输出
输出为第n个满足条件的3位数(升序)
样例输入
1
样例输出
100

你可以使用C语言编写一个程序来找到满足条件的3位数。以下是示例代码:

#include <stdio.h>
#include <math.h>int isPerfectSquare(int num) {int root = sqrt(num);return (root * root == num);
}int hasRepeatedDigits(int num) {int digits[10] = {0}; // 数字出现次数的统计数组while (num > 0) {int digit = num % 10;digits[digit]++;num /= 10;}for (int i = 0; i < 10; i++) {if (digits[i] >= 2) {return 1; // 至少有2位数字相同}}return 0;
}int main() {int n;scanf("%d", &n);int count = 0; // 计数器int num = 100; // 从最小的3位数开始while (count < n) {if (isPerfectSquare(num) && hasRepeatedDigits(num)) {count++;}num++;}printf("%d\n", num-1);return 0;
}

在主函数中,我们声明了整数变量n,使用scanf函数读取输入的数n。

接下来,我们定义了两个辅助函数。函数isPerfectSquare用于判断一个数是否为完全平方数,函数hasRepeatedDigits用于判断一个数是否至少有两位数字相同。

在主函数中,我们使用一个while循环来遍历3位数,同时使用计数器count来记录满足条件的数的个数。

在循环中,我们判断当前的num是否满足条件1和条件2。如果满足,则将计数器count加1。

当计数器count达到输入的数n时,循环结束。

最后,我们输出满足条件的第n个3位数(即num-1)。

你可以将以上代码保存为一个.c文件,使用C语言编译器编译运行,输入一个数n,即可得到第n个满足条件的3位数的输出结果。

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

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

相关文章

nuxt3项目使用pdfjs-dist预览pdf

使用的包的源代码是 pdfjs - npm 但是我们实际上项目中使用的是pdfjs打包后的dist文件&#xff0c;也就是pdfjs-dist - npm 所以我们需要使用这个命令 npm i pdfjs-dist 我们可以克隆pdfjs这个包来看源代码&#xff0c;里面有使用的例子&#xff0c;也可以根据源代码自己打…

ClickHouse进阶(十三):Clickhouse数据字典-3-文件数据源及Mysql数据源

进入正文前&#xff0c;感谢宝子们订阅专题、点赞、评论、收藏&#xff01;关注IT贫道&#xff0c;获取高质量博客内容&#xff01; &#x1f3e1;个人主页&#xff1a;含各种IT体系技术,IT贫道_大数据OLAP体系技术栈,Apache Doris,Kerberos安全认证-CSDN博客 &#x1f4cc;订阅…

鸿蒙应用程序入口UIAbility详解

一、UIAbility概述 UIAbility是一种包含用户界面的应用组件&#xff0c;主要用于和用户进行交互。UIAbility也是系统调度的单元&#xff0c;为应用提供窗口在其中绘制界面。每一个UIAbility实例&#xff0c;都对应于一个最近任务列表中的任务。一个应用可以有一个UIAbility&am…

LVS + Keepalived群集

文章目录 1. Keepalived工具概述1.1 什么是Keepalived1.2 工作原理1.3 Keepailved实现原理1.4 Keepalived体系主要模块及其作用1.5 keepalived的抢占与非抢占模式 2. 脑裂现象 &#xff08;拓展&#xff09;2.1 什么是脑裂2.2 脑裂的产生原因2.3 如何解决脑裂2.4 如何预防脑裂 …

介绍PHP

PHP是一种流行的服务器端编程语言&#xff0c;用于开发Web应用程序。它是一种开源的编程语言&#xff0c;具有易学易用的语法和强大的功能。PHP支持在服务器上运行的动态网页和Web应用程序的快速开发。 PHP可以与HTML标记语言结合使用&#xff0c;从而能够生成动态的Web页面&a…

关于前端就业前景的一点看法

一、前言 最近&#xff0c;很多人在知乎上鼓吹前端未来会没掉的概念。在此我想说这个说法并不真实&#xff0c;而是一种极端的观点。 事实上&#xff0c;前端开发在当今的互联网行业中扮演着至关重要的角色&#xff0c;它是构建 Web 应用程序所必需的一部分&#xff0c;能够实现…

小白学go基础04-命名惯例对标识符进行命名

计算机科学中只有两件难事&#xff1a;缓存失效和命名。 命名是编程语言的要求&#xff0c;但是好的命名却是为了提高程序的可读性和可维护性。好的命名是什么样子的呢&#xff1f;Go语言的贡献者和布道师Dave Cheney给出了一个说法&#xff1a;“一个好笑话&#xff0c;如果你…

TSINGSEE青犀AI视频分析/边缘计算/AI算法·人脸识别功能——多场景高效运用

旭帆科技AI智能分析网关可提供海量算法供应&#xff0c;涵盖目标监测、分析、抓拍、动作分析、AI识别等&#xff0c;可应用于各行各业的视觉场景中。同时针对小众化场景可快速定制AI算法&#xff0c;主动适配大厂近百款芯片&#xff0c;打通云/边/端灵活部署&#xff0c;算法一…

前端中的事件委托

前端小知识 事 件 委 托 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/132819265 【介绍】&#xff1…

VM安装RedHat7虚机ens33网络不显示IP问题解决

1、今天在VMware中安装RedHat7.4虚拟机&#xff0c;网络连接使用的是 NAT 连接方式&#xff0c;刚开始安装成功之后输入ifconfig 还能看到ens33自动分配的IP地址&#xff0c;但是当虚机关机重启后&#xff0c;再查看IP发现原来的ens33网络已经没有了&#xff0c;只变成了这两个…

Mybatis -- 读取 DATE 类型字段时可能遇到的问题(夏令时问题)

在使用 MYBATIS 读取数据库字段的时候&#xff0c;我们一般需要为查询字段指定数据类型。特别是当我们使用 mybatis generator 去生成对应的接口代码时&#xff0c;会自动按照数据库字段类型生成响应映射规则的代码。   如下&#xff0c;左侧是 date 类型生成的字段映射规则&…

MySQL数据库——存储引擎(2)-存储引擎特点(InnoDB、MyISAM、Memory)、存储引擎选择

目录 存储引擎特点 InnoDB 介绍 特点 文件 逻辑存储结构 MyISAM 介绍 特点 文件 Memory 介绍 特点 文件 区别及特点 存储引擎选择 存储引擎特点 上面我们介绍了什么是存储引擎&#xff0c;以及如何在建表时如何指定存储引擎&#xff0c;接下来我们就来介绍比较…

JS中 bind()的用法,call(),apply(),bind()异同点及使用,如何手写一个bind()

✨什么是bind() bind()的MDN地址 bind() 方法创建一个新函数&#xff0c;当调用该新函数时&#xff0c;它会调用原始函数并将其 this 关键字设置为给定的值&#xff0c;同时&#xff0c;还可以传入一系列指定的参数&#xff0c;这些参数会插入到调用新函数时传入的参数的前面。…

Map集合

Map中常见的API Map<键值对类型&#xff0c; 键值对对象类型> put&#xff08;K key , V value&#xff09;【可以有返回值】 添加/覆盖元素 在添加数据的时候&#xff0c;如果键不存在&#xff0c;那么直接将键对对象添加到map集合当中 在添加数据的时候&#xff0c…

云原生Kubernetes:pod基础

目录 一、理论 1.pod 2.pod容器分类 3.镜像拉取策略&#xff08;image PullPolicy&#xff09; 二、实验 1.Pod容器的分类 2.镜像拉取策略 三、问题 1.apiVersion 报错 2.pod v1版本资源未注册 3.取行显示指定pod信息 四、总结 一、理论 1.pod (1) 概念 Pod是ku…

jwt自定义表签发、jwt 多方式登录(auth的user表)

补充 # 1 接口文档编写规范&#xff1a;-1 描述-2 请求地址-3 请求方式-4 请求参数-headers-请求体-请求参数-5 请求编码格式-6 返回格式-示例-返回数据字段含义-其他&#xff1a;-错误状态码-...-接口文档编写位置-写在文件中&#xff1a;word&#xff0c;md&#xff0c;跟前…

centos定期清理磁盘

centos/linux定期清理磁盘 要定时清理空间&#xff0c;我们需要了解一个命令&#xff0c;find 命令&#xff0c;这个命令可以查询目录下特定文件名&#xff0c;生成日期的文件 小白教程&#xff0c;一看就会&#xff0c;一做就成。 1.查找需要删除的 find /data_back/zhhyba…

自动计算比例 计算属性 computed @input=“rate“

<el-col :span"12"><el-form-item label"当年累计实收租金:" prop"cumulativeRent"><el-inputv-model"createForm.cumulativeRent"input"rate"clearable:disabled"value 2"><template slot…

2023-9-11 拆分-Nim游戏

题目链接&#xff1a;拆分-Nim游戏 #include <iostream> #include <cstring> #include <algorithm> #include <unordered_set>using namespace std;const int N 110;int f[N];int sg(int x) {if(f[x] ! -1) return f[x];unordered_set<int> S;f…

图片码二次渲染绕过

目录 一、环境 1、代码 2、文件处理方式 3、图片码的制作 二、绕过图片重构 1、可行性分析 2、数据比对 3、完成绕过 一、环境 以upload-labs靶场第十七关为例 1、代码 源码为&#xff1a; <?php include ../config.php; include ../head.php; include ../menu.…