吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(3)

2023-11-01

9. 三位Armstrong数

题目编号 :Exp02-Basic08,GJBook3-04-12

题目名称:三位Armstrong数

题目描述:编写程序,打印所有3位的Armstrong数,Armstrong数是指其值等于它本身每位数字立方和的数,如153就是一个Armstrong数。153=


 

输入:无
输出:打印所有3位的Armstrong数,每个Armstrong数间用一个西文空格间隔,最后一个数后无多余字符。

样例:无。详见输入输出说明

#include<iostream>

using namespace std;

int main()
{
	int a, b, c;
	
	for(int i=100;i<1000;i++)
	{
		a = i % 10;        //个位
		b = i / 10 % 10;   //十位
		c = i / 100;       //百位

		if ((a * a * a + b * b * b + c * c * c) == i)
			cout << i<<" ";
		else continue;
	}
	
	return 0;

}

这个题还算比较友好,要注意的两个细节:

1.用(100-1000)之间的数来表示三位数

2.不断取模求 i 的各个数位上的数字

10. 符合条件自然数

题目编号 :Exp02-Basic06,GJBook3-04-09

题目名称:符合条件自然数

题目描述:编写程序,打印所有小于正整数data且可被11整除的自然数。

输入:从键盘输入一个正整数data

输出:输出所有小于data且可被11整除的自然数,数与数之间以一个空格做间隔,最后一个数后无多余字符。
 

样例1:

输入:50
输出:0 11 22 33 44

样例2:

输入:80
输出:0 11 22 33 44 55 66 77
#include <iostream>

using namespace std;

int main()
{
	long long data = 0;
	cin >> data;

	for (int i = 0;i < data;i+=11)
	{
			cout << i << " ";
	}

	return 0;

}

 他来了他来了,优美的for循环他来了

观察输出样例,其中包含0,输出结果是11的倍数,在此基础上直接每次加11即可

没必要再写一个if判断i “是否为11的倍数,如果是,则输出” 的语句

11. 计算 e^x

题目编号 :Exp02-Enhance01,GJBook3-04-02

题目名称:计算 e^x

题目描述:请计算上述序列的前101项的和(截止到n取100)

GJBook3-04-02.jpg

输入:一个浮点数,对应x值。

输出:一个浮点数,即e^x的近似值,小数点后保留到第2位。

注:本题不允许使用math.h头文件和相关的pow和exp等函数。

样例1:

输入:0
输出:1.00

样例2:

输入:4.3
输出:73.70

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
	double x = 0, y = 1.00, z = 1.00;
	cin >> x;
	
	for (int i = 1.00;i <= 100;i++)
	{
		z *= x / i;
		y += z;
	}
	
	cout << fixed << setprecision(2) << y << endl;

	return 0;

}

 仔细观察这个公式,是不是像极了泰勒展开(串台了)

保险起见,浮点数一律设置为double类型

再回忆一遍C++和C是如何标准输出控制小数点后几位,具体方法是什么

12. 递增排序

题目编号:Exp02-Basic01,GJBook3-03-03

题目名称:递增排序

题目描述:任意三个实数a、b、c,按照从小到大的顺序输出。

输入:输入三个实数(测试数据均只有一位小数)。

输出:按照从小到大顺序输出之前输入的三个实数,以一个西文空格间隔,且每个实数小数点后保留1位。

样例:

输入:
2.3  5.6  1.2
输出:
1.2 2.3 5.6

 下面给出了两种方法来排序:

1.“有手就行”法    2.指针数组法(比较推荐)

先看“有手就行”法 ,逻辑倒也清晰,需要较高的观察力和记忆力。a,b,c 共有6中排序方法,不断比较三者之中两者的关系来确定他们的位置,缺点就是只适用于两个或三个数的排序,若数据过多,则复杂度大大增加,就需要用到指针数组法

#include <iostream>

using namespace std;

int main()
{
	double a, b, c;
	cin >> a >> b >> c;

	if (a > b)
	{
		if (b > c)
			cout << c << " " << b << " " << a << endl;		
		
		else if(a < c)
			cout << b << " " << a << " " << c << endl;
		
		else if((a > c)&&(c > b))
			cout << b << " " << c << " " << a << endl;

	}
	else
	{
		if (b < c)
			cout << a << " " << b << " " << c << endl;
		
		else if ((a < c) && (c < b))
			cout << a << " " << c << " " << b << endl;
		
		else if (c < a)
			cout << c << " " << a << " " << b << endl;

	}

	return 0;

}

再来看指针数组法,冒泡排序为一种基础排序类型,需要同学们掌握下面的基础结构

也同样适用于多个数的排序

#include <iostream>

using namespace std;

int main()
{
	double arr[3];
	
	for (int i = 0;i < 3;i++)//输入三个数据
	{
		cin >> arr[i];
	}

	for (int i = 0;i < 3 - 1 ;i++)//冒泡排序
	{
		for (int j = 0;j < 3 - 1 - i;j++)
		{
			if (arr[j] > arr[j + 1])
			{
				double tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}

	for (int i = 0;i < 3;i++)//输出打印后的数组
	{
		cout << arr[i]<<" ";
	}

	return 0;

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(3) 的相关文章

  • Postsharp 不登录跟踪级别

    我喜欢在跟踪级别记录一些 Postsharp 消息 不幸的是 日志到这个级别没有打印任何输出 所有其他级别都在工作 与控制台或 NLog 后端或从其他类登录时的行为相同 如何启用跟踪级别 应用程序 xaml cs Log Attribute
  • C - 计算文件中的单词、字符和行数。字符数

    我必须用 C 编写一段代码 输出给定文件中的字符数 行数和单词数 任务看起来很简单 但我现在真的不确定出了什么问题 所以 这是代码 include
  • 线程独占数据:如何存储和访问?

    NET 中是否有可能将对象实例绑定到线程的当前执行上下文 这样在代码的任何部分我都可以做类似的事情CurrentThread MyObjectData DoOperation 并确保我访问特定于线程的数据 谢谢 你可以看一下线程静态属性 h
  • 如何创建语法突出显示文本框[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何使用 C Net 创建语法突出显示文本框 Take 闪烁网 http scintillanet codeplex com 并采取其
  • 等待运算符错误

    我的代码有问题 我怎么解决这个问题 这个问题出现在await操作符中 public MyModel HttpClient client new HttpClient HttpResponseMessage response await cl
  • 值类型如何实现引用类型

    我遇到了一个值类型正在实现 ref 的场景 类型 只是想知道这怎么可能 幕后发生了什么 结构体是值类型 接口是引用 类型但结构可以实现接口而不会出现任何错误 有什么想法吗 提前致谢 实际上 它同时以两种不同的方式进行 首先 任何值类型都可以
  • C++ 并行任务的开销

    我有以下简单的功能 include
  • 使用 LINQ 展平嵌套字典

    所以我有一本形式的字典Dictionary
  • 如何在Unity Inspector中创建多维数组?

    如何在 Unity Inspector 中创建枚举多维数组并使其可序列化 以便我可以从不同的脚本调用它 public enum colors red blue green yellow cyan white purple public in
  • 如何生成可变参数包?

    给定不相关的输入是否可以生成非类型参数包 我的意思是 我想改变这一点 template
  • 可以通过模板间接访问基类中的私有类型

    我试图在编译时根据类型是否在给定范围内公开可用来选择要使用的类型 最好直接看代码 include
  • _MM_TRANSPOSE4_PS 在 GCC 中导致编译器错误?

    我第一次在 GCC 而不是 MSVC 中编译我的数学库 并经历了所有的小错误 我遇到了一个根本没有意义的错误 Line 284 error lvalue required as left operand of assignment 284号
  • 将旧的 Unity 代码升级到 Unity 5

    在触发按钮上播放动画的代码似乎不起作用 我在 Youtube 上看到了一个视频 内容很简单animation Play 它可以在该视频上运行 但我无法让它在我的计算机上运行 我做错了什么还是团结改变了它 请帮助我在网上找不到解决方案 所有
  • 为什么最小的 int -2147483648 的类型为“long”? [复制]

    这个问题在这里已经有答案了 对于一个学校项目 我必须编写 C 函数 printf 的代码 一切进展顺利 但有一个问题我找不到好的答案 所以我来了 printf PRINTF d t d n 2147483648 告诉我 gcc Werror
  • 我的代码哪里有泄漏?

    下面是我的代码 它打开一个 XML 文件 old xml 过滤无效字符并写入另一个 XML 文件 abc xml 最后 我将再次加载 XML abc xml 当执行以下行时 出现异常 表示 xml 文件被另一个进程使用 xDoc Load
  • C++ 模板参数数量错误(2,应该是 1)

    我使用 C 并行快速排序程序进行了测试 如下所示 首先使用列表作为容器 然后我转移到通用容器类型 但它报告了标题错误 可以帮忙解决这个问题吗 include
  • 如何在realm-dotnet中存储System.Collections.Generic.Dictionary

    我正在尝试将 Realm NET 集成到我的 uwp 项目中 我想知道是否有任何方法可以在 Realm dotnet 库中存储 System Collections Generic Dictionary 我试过这个 public class
  • Membership.ValidateUser() 的目的是什么

    我一直在学习有关MembershipProvider类 我认为Membership ValidateUser 方法应该用于登录用户 然而我刚刚了解到有一个FormsAuthentication Authenticate 目的是什么Valid
  • 小数精度

    我使用小数类型进行高精度计算 货币 但我今天遇到了这个简单的划分 1 1 37 这应该再次得到 37 http www wolframalpha com input i 1 2F 281 2F37 29 http www wolframal
  • Selenium - 模式对话框存在 - 如何接受信息?

    我有以下问题 在页面上提交一些日期后 我有一个如图所示的模式对话框 我想单击 ENTER 来浏览该模式 但它不起作用 我有以下代码 driver FindElement By CssSelector input submit Click A

随机推荐

  • 强制Unity编译 Recompile

    I have a script that adds to ProjectFilesGenerator ProjectFileGeneration so it adds to the Assemblies every time they ar
  • conda 切换为国内源

    添加清华源 conda config add channels https mirrors tuna tsinghua edu cn anaconda pkgs free conda config add channels https mi
  • 延长OLED透明屏的使用寿命:关键因素与有效方法分享

    OLED透明屏作为一项创新的显示技术 具备透明度和高清晰度的特点 在各个领域得到了广泛应用 然而 为了确保OLED透明屏的持久性和稳定性 延长其使用寿命是至关重要的 根据最新的研究和数据报告 在这篇文章中 尼伽将深入探讨延长OLED透明屏使
  • 微信小程序实现音乐播放器(2)

    文章目录 前情提要 BackgroundAudioManager API wx setNavigationBarTitle 搭建静态资源服务器 小程序项目 app json app wxss pages music music json p
  • three.js常用几何体介绍以及自定义几何体

    一 自定义三角形几何体 核心代码 添加物体 创建几何体 for let i 0 i lt 50 i 每一个三角形 需要3个顶点 每个顶点需要3个值 const geometry new THREE BufferGeometry const
  • 【教程

    文章目录 1 张量 Tensor 2 梯度 PyTorch 1 5 0 autograd 库是使用 PyTorch 构建神经网络的核心 首先让我们简要地浏览一下 之后我们将会训练第一个神经网络 autograd 库提供了 Tensors 上
  • 多线程问题分析thread

    多线程 进程概述 A 进程 进程指正在运行的程序 确切的来说 当一个程序进入内存运行 即变成一个进程 进程是处于运行过程中的程序 并且具有一定独立功能 简而言之 当前正在运动的程序 一个应用程序在内存中的执行区域 B 线程 线程是进程中的一
  • NFTScan 与 Bulletime 在 NFT 底层数据方面达成战略合作

    近日 Web3 基础设施 NFTScan 浏览器与 Bulletime 达成战略合作伙伴关系 双方将在 NFT 底层源数据方面展开深度合作 Bulletime 是一个专业的 NFT 项目链上和链下数据分析聚合平台 为 NFT 用户提供一站式
  • window 分布式文件服务器,Windows活动目录笔记24

    Windows活动目录笔记24 分布式文件系统DFS创建与使用 DFS复制使用复杂的进程保持多个服务器上的数据同步 DFS复制是一个多机复制引擎 一台服务器上的任何修改都将复制到其他所有的成员服务器上 测试环境 域控制器dc1 jinxin
  • 关于xshell的参数配置问题

    关于xshell其实如果想connection通的话 必须需要设置的两个地方如下图 一个是登陆目的主机的IP地址 以及登陆使用的账号和密码另一个就是需要设置代理服务器 类型和端口号是对应的如http1 1对应的是9001 具体对应端口号自己
  • ChatGPT专业应用:采访大纲自动生成

    正文共 429字 阅读大约需要 2 分钟 品牌公关人员 记者群体必备技巧 您将在2分钟后获得以下超能力 1 专业性采访大纲速成 2 多样性采访提问 Beezy评级 B级 经过简单的寻找 大部分人能立刻掌握 主要节省时间 推荐人 麻辣酱 编辑
  • 基于 Matlab 的混沌算法求解单目标优化问题

    基于 Matlab 的混沌算法求解单目标优化问题 随着科学技术的发展和应用场景的不断拓展 优化问题已经成为了一个十分重要的研究领域 在实际问题中 经常需要找到一个最佳解或最优解 从而使得系统能够更加高效地运行 针对这种问题 混沌算法已经被广
  • Flutter输入框实现银行卡输入 每隔四位插入空格进行分割

    先来看下效果图吧 实现思路 1 利用输入框的TextInputFormatter的withFunction方法来处理用户输入的内容 2 同时需要监听文本改变将光标移动至末尾 输入框 CupertinoTextField controller
  • SpringBoot项目 报错 ERROR 13804 --- [ restartedMain] o.a.tomcat.jdbc.pool.ConnectionPool : Unable

    SpringBoot项目 报错 ERROR 13804 restartedMain o a tomcat jdbc pool ConnectionPool Unable 数据库链接出错 通常发生在导入新项目时 MySQL 数据库版本不匹配
  • 浏览器出现光标

    这里想要把光标关掉 解决办法 按键盘的F7 解决办法2 ok 结束
  • 电子书djvu格式简介zz

    DjVu是由美国AT T实验室于1996年开发成功的一项新的图片压缩技术 DjVu的主要技术是将图像分为背景层 纸的纹理和图片 和前景层 文本和线条 通过将文字和背景分离开来 DjVu可以用高分辨率来还原文字 使锐利边缘得以保留 并最大限度
  • 很强,我终于找到绘制E-R图的正确姿势!

    前言 不知道大家是不是和我一样 为了追求速度 开发时一般都是直接建表就干 哪管什么E R图 直到xxx项目找上你 某某客户要E R图 提供一下吧 这时候就很烦 从头绘制E R图成本真的很高 今天我就遇到了这个糟心事 那有什么办法快速从我们的
  • 在使用Assimp库时编译器报错:C2589 “(”:“::”右边的非法标记 AssimpLoadStl

    OpenGL系列文章目录 文章目录 OpenGL系列文章目录 前言 一 错误原因 二 解决 三 运行结果 源码下载 前言 在使用Assimp库时编译器报错 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C2589 右边的非法标记
  • 大气散射模型的推导过程

    大气中粒子的散射作用是产生雾霾的主要原因 无论是用人的肉眼观察 还是从拍摄获取的图像中观察 雾天的景象总是存在对比度和视野降低的问题 1925年 Keim Nemnich 1 等人提出雾天图像能见度较低是大气中的悬浮粒子对光的吸收和散射造成
  • 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(3)

    9 三位Armstrong数 题目编号 Exp02 Basic08 GJBook3 04 12 题目名称 三位Armstrong数 题目描述 编写程序 打印所有3位的Armstrong数 Armstrong数是指其值等于它本身每位数字立方和