吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(3)
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)
输入:一个浮点数,对应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;}
吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(3)相关推荐
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(1)
由于本章节题目太多,我将分几次发布 实验02 分支与循环程序设计(2021级) 一. 程序题(共15题,100分) 1. (程序题) 题目编号 :Exp02-Enhance02,GJBook3-04- ...
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(4)
13. 倍数 题目编号:Exp02-Basic07,GJBook3-03-07 题目名称:倍数 题目描述:任意一个整数n,如果n能同时被3.5.7整除,则n是3.5.7的倍数,如果n只能同时被其中的两 ...
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验04 数组及其在程序设计中的应用(2021级)(1)
1. 索引数组排序 题目编号:Exp04-Enhance04,GJBook3-06-21 题目名称:索引数组排序 题目描述:已知n(n≤100)个元素的整型数组 A 未排序,一个索引数组 B 保存 A ...
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验05 指针及其在程序设计中的应用(2021级)
目录 1.字符串长度 2. 合法标识符 3.分类统计字符 4. 字符串部分删除 5. 排序二维数组 1.字符串长度 题目编号:Exp05-Basic01,GJBook3-07-06 题目名称:字符串长 ...
- 吉林大学超星MOOC学习通高级语言程序设计 C++ 实验02 分支与循环程序设计(2021级)(2)
5. 爱因斯坦阶梯 题目编号:Exp02-Basic10,GJBook3-04-15 题目名称:爱因斯坦阶梯 问题描述:设有阶梯,不知其数,但知:每步跨2阶,最后剩1阶:每步跨3阶,最后剩2阶:每步跨 ...
- 吉林大学 超星慕课 高级语言程序设计 实验02 分支与循环程序设计(2022级)
本人能力有限,发出只为帮助有需要的人. 建议同学们自己写完后再进行讨论. Exp02-Basic01 #include<stdio.h> int main(void) {float a,b ...
- 吉林大学超星慕课平台——高级语言程序设计 实验02 分支与循环程序设计(2022级)
一. 程序题(共15题,100分) 1. (程序题) 题目编号:Exp02-Basic01,GJBook3-03-03 题目名称:递增排序 题目描述:任意三个实数a.b.c,按照从小到大的顺序输出. ...
- 吉林大学超星MOOC高级语言程序设计 实验07(2021级)
1. (程序题) [计2016级期末试题]构造一个表示教师的结构体(包含3个字段:姓名.性别.年龄),编写函数,读入n个教师的信息,存入一个结构体数组中(如下图所示).最后输出第n/2个教师的信息. ...
- 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告
20155328 <Java程序设计> 实验二(Java面向对象程序设计) 实验报告 单元测试 一.单元测试和TDD 编程时需理清思路,将编程需求等想好,再开始编.此部分可用伪代码实现. ...
最新文章
- Latex快速入门, Windows 安装使用编译技巧归纳
- SAP PM 设备维护事务码收集整理
- 从经济学与市场机制中,AI可以学到什么?| 美国三院院士迈克尔乔丹教授
- Dreamweaver——如何使网页中的第一个DIV水平居中
- azure devops中文显示乱码_【Azure DevOps系列】Azure DevOps生成代码覆盖率
- 日记:2019-07-28
- 美团2015校招哈尔滨站笔试题--第二题
- python布尔系列_python – 获取pandas布尔系列为True的索引列表
- iText创建一个含有中文的pdf文档
- Python3 解题:字符串压缩
- 301缓存重定向?301 Moved Permanently (from disk cache)
- Qt 中使用全局变量的方法
- 使用R语言做极大似然估计
- MFC——SkinSharp For VS的使用说明
- 光纤尾纤的型号和作用有哪些?
- python写彩票预测软件_python写彩票预测软件
- java调用jrtplib,jrtplib的文档翻译
- 微信发布的辟谣小程序
- MATLAB | 那些你不得不知道的MATLAB小技巧(一)
- UBOOT 字库相关
热门文章
- 【Python】Python2与Python3的不同
- C/C++ 获取系统时间距 1970年1月1日00:00:00 的毫秒数
- 图像分割UNet系列------UNet详解
- 豪华奔驰SUV选择悠耐,这样的车衣值得拥有!
- C语言飞机大战题目,C语言飞机大战源码.pdf
- 报错:adding a window to a container
- 华云数据:2019年云综合收入6.5亿元,国产化生态走到底
- 求一份电子电气工程师必知必会第三版的pdf 谢谢了!!!只是自己学习不做商用
- x的1/x次方的导数是多少?怎么算?
- 使用雅虎的API便捷的创建天气预报程序