C/C++特殊求和 2021年6月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

news2024/11/26 12:16:51

目录

C/C++幻数求和

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析


C/C++幻数求和

2021年6月 C/C++编程等级考试一级编程题

一、题目要求

1、编程实现

如果一个数能够被7整除或者十进制表示中含有数字7,那么我们称这个数为幻数,比如17,21,73是幻数,而6,59不是。

对于给定的N,求出1~N中所有幻数的和。

时间限制:1000

内存限制:65536

2、输入输出

输入描述:只有一行,一个整数N(1 < N < 10000)。

输出描述:只有一行,一个整数,表示1~N中所有幻数的和。

输入样例:

14

输出样例:

21

二、算法分析

  1. 题目要实现的是从1到输入的数字n中,能被7整除或者有包含数字7的数进行求和
  2. 能被数字7整除好处理,只要将当前数字对数字7进行取余运算等于0即可
  3. 但是要判断数字里面包含7就需要稍微想一下,可以有多种方法
  4. 因为这个数字不是固定的,但是这个数最大是一个4位数,小朋友们可以设置4个变量分别表示这个数的每一位数字,然后求出来,只要其中一个数等于7就符合(利用这种方法有一个巧妙点至于一位数转换成对应的四位数只要前面补0,也不会影响最后的结果)
  5. 小兔子老师这边是采用另外一种方法,将这个多位数循环取出最右边的数字,如果这个数字有一次出现7,那么这个多位数就进行求和运算
  6. 所以这个程序需要用到for循环、双分支语句以及while循环等
  7. 最后将求出的结果输出即可

三、程序编写

#include<iostream> 
using namespace std;
int main()
{
	int n,sum=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{		
		if(i%7 == 0)    //当前数字为7的倍数
		{
			sum += i;
		}
		else            
		{
			int t = i,k;
			while(t)    //当前数字里面包含数字7
			{			
				k = t%10;
				if(k == 7)
				{
					sum += i;
					break;
				}
				t /= 10;
			}
		}		
	}
	cout<<sum<<endl;
	return 0;
}

四、程序说明

  1. 首先需要导入输入输出流头文件
  2. 然后是引入std命名空间中的所有成员到当前的程序中,这样在当前的程序中就可以直接使用 std 命名空间中的所有成员,而不需要使用的时候在成员前面加上(std::)前缀
  3. 接着声明程序的入口,也就是主函数(主函数在一个程序中只允许出现一次)
  4. 根据题目要求声明2个整形变量(n存储输入的数字,sum存储符合要求的幻数求和)
  5. 然后利用输入流对象cin,从键盘读取这2个变量的值
  6. 接着利用for循环依次从1遍历到当前输入数字n
  7. 利用双分支语句if...else...先判断当前数字是否是7的倍数,如果是进行求和
  8. 否则对这个数字进行如下处理,再声明两个临时变量(t用来保存当前数字,k保存当前数字的最后一位数)
  9. 利用while循环(由于不知道要取几次这个多位数才能取完,所以用while循环)
  10. 先取出t的最后一位数,然后利用if判断语句判断这个数字k是否和7相等,如果是当前数求和并退出循环,否则t整除10 继续上面操作直到t为0结束
  11. 最后利用输出刘对象cout输出和值sum
  12. 最后返回0,程序结束

本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102

五、运行结果

14

21

六、考点分析

难度级别:中等,这题相对而言有一点难度具体主要考查如下:

  1. 分析题目,找到解题思路
  2. 学会简单的算法知识的使用,如何找出多位数中包含数字7
  3. 学会掌握变量的定义和使用
  4. 学会输入流对象 in的使用,从键盘读入相应的数据
  5. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  6. 学会while循环的使用,在不确定循环次数的时候推荐使用
  7. 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
  8. 学会if...else...双分支语句的使用,条件满足执行一种处理,不满足执行另一种处理
  9. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  10. 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

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

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

相关文章

已解决:云原生领域的超时挂载Bug — Kubernetes深度剖析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

尼得科电机的强大性能,将列车门和屏蔽门的开合变得从容而安全

城市脉动&#xff0c;人流涌动。 无论城市轨道交通还是远途铁路运输&#xff0c; 尼得科电机的强大性能&#xff0c;将列车门和屏蔽门的开合变得从容而安全。 尼得科的电机方案&#xff0c;有助于列车门稳准开闭&#xff0c;保障乘客安全无忧。高效驱动&#xff0c;让乘客的行程…

VUE获取当前日期的周日和周六

<template><div><div click"handleLast()">上一周</div><div click"handleNext()">下一周</div><el-calendarref"monChild"v-model"value":first-day-of-week"7":range"[sta…

iis 部署 netcore 和vue 共用端口

常规情况下&#xff0c;vue 和api是分开的两个站点进行部署&#xff0c;若是要对外只有一个端口的话&#xff0c;采用以下梁总方式即可。 1.需要配置路由转发和代理开启&#xff08;vue 使用hisoty模式&#xff09; 参考链接.netCore vue&#xff08;history模式&#xff0…

线性代数(六)| 二次型 标准型转换 正定二次型 正定矩阵

文章目录 1. 二次型化为标准型1.1 正交变换法1.2 配方法 2 . 正定二次型与正定矩阵 1. 二次型化为标准型 和第五章有什么样的联系 首先上一章我们说过对于对称矩阵&#xff0c;一定存在一个正交矩阵Q&#xff0c;使得$Q^{-1}AQB $ B为对角矩阵 那么这一章中&#xff0c;我们…

IBM Qiskit量子机器学习速成(一)

声明&#xff1a;本篇笔记基于IBM Qiskit量子机器学习教程的第一节&#xff0c;中文版译文详见&#xff1a;https://blog.csdn.net/qq_33943772/article/details/129860346?spm1001.2014.3001.5501 概述 首先导入关键的包 from qiskit import QuantumCircuit from qiskit.u…

暴力递归转动态规划(十四)

题目 arr是面值数组&#xff0c;其中的值都是正数且没有重复。再给定一个正数aim。 每个值都认为是一种面值&#xff0c;且认为张数是无限的。 返回组成aim的最少货币数 暴力递归 依然是面值张数的问题&#xff0c;暴力递归尝试的过程是从数组arr index 0位置出发&#xff0c…

mongodb导出聚合查询的数据

❗️❗️❗️在正文之前先要讲一个坑&#xff0c;就是mongoexport这个命令工具不支持导出聚合查询的数据&#xff0c;比如通过某某字段来分组 我查了一天关于mongoexport怎么来导出聚合查询的结果集&#xff0c;最终还是gpt给了我答案 &#x1f62d; 既然mongoexport不支持&…

Postgresql数据类型-布尔类型

前面介绍了PostgreSQL支持的数字类型、字符类型、时间日期类型&#xff0c;这些数据类型是关系型数据库的常规数据类型&#xff0c;此外PostgreSQL还支持很多非常规数据类型&#xff0c;比如布尔类型、网络地址类型、数组类型、范围类型、json/jsonb类型等&#xff0c;从这一节…

微信的通讯录联系人,有没有什么办法导出来做备份

6-10 这是可以做到的&#xff0c;并且很简单&#xff0c;对于需要把微信通讯录备份出来&#xff0c;或者离职交接的人来说&#xff0c;本文非常适合阅读&#xff0c;只是一个简单的方法&#xff0c;即可快速地把微信的通讯录搞出来&#xff0c;本质其实就是使用正确的工具就行…

Capacitor 插件 实现本地通知 Local Notification @capacitor/local-notifications

Capacitor 插件 实现本地通知 Local Notification capacitor/local-notifications 在前一个文章中使用 Capacitor 和 H5 应用构建了一个 Android 应用&#xff0c;这个 h5 是通过 uniapp 生成的。 https://blog.csdn.net/KimBing/article/details/134093769 这个应用的构成是这…

微机原理3

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。 1. 在机器数中&#xff0c;零的表示形式唯一的编码是() A. 原码 B. 补码 C.移码 D. 反码 2,用于定义常数、变量的内存空间分配和定位的是()。 A. 伪指令 B.机器指令…

(C++17) variant的使用与union对比

文章目录 前言与需求union内存映射图C11的union 使用ref示例构造普通构造置空emplacemonostate 访问std::get<>std::holds_alternative<>获取指针std::get_if<>获取可选数量个数std::variant_size END 前言与需求 联合体&#xff0c;是在C语言时代就存在的概…

『亚马逊云科技产品测评』活动征文|AWS 云服务器实例类型及其适用场景详细说明

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 目录 一、AWS 定价计算器 &#xff08;1&#xff09;定价计算器官网 &…

Linux环境配置(云服务器)

目录 1.第一步&#xff1a;购买云服务器 2.第二步&#xff1a;下载Xshell 7 3.第三步&#xff1a;打开Xshell&#xff0c;登录云服务器 4.第四步&#xff1a;更加便捷的云服务器登录方式 1.第一步&#xff1a;购买云服务器 &#xff08;推荐&#xff1a;阿里云、华为云、腾…

机器视觉工程师注意,没有经历过公司倒闭看下文章,机器视觉公司即将要倒闭的征兆是什么?

很多机器视觉工程师没有经历过公司倒闭&#xff0c;谁也不想自己的公司倒闭&#xff0c;毕竟我们是打工人&#xff0c;拿固定工资的。 机器视觉公司即将要倒闭的征兆有哪些迹象​&#xff1f;​ 1、PM&#xff0c;机器视觉工程师频繁开会&#xff0c;甚至周末强制开会。 2.停…

P6入门:项目初始化1-项目详情介绍

前言 使用项目详细信息查看和编辑有关所选项目的详细信息&#xff0c;在项目创建完成后&#xff0c;初始化项目是一项非常重要的工作&#xff0c;涉及需要设置的内容包括项目名&#xff0c;ID,责任人&#xff0c;日历&#xff0c;预算&#xff0c;资金&#xff0c;分类码等等&…

Zigbee—网络层地址分配机制

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;孤雏 0:21━━━━━━️&#x1f49f;──────── 4:14 &#x1f504; ◀️ ⏸ ▶️ ☰ &#x1f497;关注…

进行 “最佳价格查询器” 的开发

前置条件 public class Shop {private final String name;private final Random random;public Shop(String name) {this.name name;random new Random(name.charAt(0) * name.charAt(1) * name.charAt(2));}public double getPrice(String product) {return calculatePrice…

『 C++类与对象 』多继承与虚继承

文章目录 ⌨️多继承的概念语法 &#x1f5b1;️ ⌨️棱形继承⌨️虚继承虚继承是如何解决数据冗余和二义性的(不谈虚表概念)?&#x1f5b1;️ ⌨️多继承的概念 多继承指的是一个派生类是由多个基类继承而来的; 而在生活当中也有类似的例子:番茄既可以是水果,也可以是蔬菜;…