版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/59,2/23,本讲内容 函数的应用 三种循环结构的应用,第八讲 循环及函数,3/23,一、输出字符图案,九九乘法表。要求输出如下内容,共9行 每行第一个乘数不变,第二个乘数从1至9 每个算式占8个字符宽,每行9个算式 乘数、星号、等号各占1个字符宽,共4个字符; 乘积占2个字符宽; 再空2格; 如:3*3= 9 3*4=12 ,4/23,九九乘法表,void Multiply() int i, j;/ 2个乘数,其积为i*j for(i=1; i10; i+) for(j=1; j10; j+) cout i ”*” j ”=”; setw(2) i*j ” ”; cout endl;
2、,主要的执行语句输出语句,5/23,二、字符图案,输出由字符“#”及空格组成如下图案,6/23,二、字符图案,观察与分析 循环输出 ”#” 分成上(9行)、下(10行)两个图案 难点 符号出现的起始列 上半部分起始列从20起 逐行依次递减2 下半部分起始列从2起 逐行依次递增2 每行输出的”#”个数 上半部分逐行依次递增2 下半部分逐行依次递减2,7/23,二、字符图案,void pattern() int i, j; for(i=0; i=0; i-) cout setw(2*(10-i) ; for(j=0; j2*i+1; j+) cout # ; cout endl; ,8/23,课堂
3、实战,P103-(5) 编程求“水仙花数”。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。,9/23,#include /5-3.cpp #include using namespace std; int main() int i,j,k,x,y; for(i=1;i10;i+) for(j=0;j10;j+) for(k=0;k10;k+) x=100*i+10*j+k; y=pow(i,3)+pow(j,3)+pow(k,3); if(x=y) coutx=i3+ j3+k3endl; return 0; ,10/23,三
4、、循环、函数综合,题目1:判断n是否为质数。 题目2:求出100以内的所有素数,并统计个数,11/23,#include #include using namespace std; void main() int i,n; coutn; if (n2) exit(0); for(i=2;in;i+) if(n%i=0) break; if (in) coutn不是质数endl; else coutn是质数endl; ,12/23,#include #include using namespace std; void main() int i,j,m,count; count=0; for(i=
5、2;i100;i+) m=sqrt(i); for(j=2;jm+1;j+) if (i%j=0) break; if(jm+1) continue; count+; couti ; coutendl共有count个质数endl; ,13/23,#include #include using namespace std; int Fun(int x,int y) int i,j,m,count=0; for(i=x;i=y;i+) m=sqrt(i); for(j=2;jm+1;j+) if (i%j=0) break; if(jm+1) continue; count+; couti ; r
6、eturn count; void main() int count; count=Fun(2,99); cout共有count个质数endl; ,14/23,题目3:求m和n最大公约数 方法:用辗转相除法求最大公约数,三、循环、函数综合,15/23,#include #include using namespace std; void main() int m,n,r; coutmn; if (!m | !n) exit(0); r=m%n; while(r) m=n; n=r; r=m%n; cout这两个数的最大公约数为:nendl; ,16/23,题目4:百元买百鸡:用一百元钱买一百只
7、鸡。已知公鸡5元/只,母鸡3元/只,小鸡1元/3只。 分析:这是个不定方程三元一次方程组问题(三个变量,两个方程) xyz=100 5x3yz/3=100 设公鸡为x只,母鸡为y只,小鸡为z只。 则0 x 100、 0 y 100、 0 z 100,三、循环、函数综合,17/23,#include using namespace std; void main() int x,y,z; coutt公鸡t母鸡t小鸡endl; for (x=0;x=100;x+) for (y=0;y=100;y+) for (z=0;z=100;z+) if (x+y+z=100 ,18/23,此为“最笨”之法要
8、进行101101101= 1030301次(100多万次)运算。 如何改进? 要点: 确定独立变量个数及取值范围每个独立变量用一层循环实现“穷举”; 确定符合题意的条件表达式条件成立的方案,输出结果。,分析,19/23,题目:雨水淋湿了算术书的一道题,8个数字只能看清3个,第一个数字虽然看不清但可看出不是1。编程求其余数字是什么? *(3)2 = 89 分析:设分别用A、B、C、D、E五个变量表示自左到右五个未知的数字。其中A的取值范围为29,其余取值范围为09。条件表达式即为给定算式。 结果:32864,实战,20/23,题目5:张三、李四、王五三个棋迷,定期去文化宫下棋。张三每五天来一次,李四每六天来一次,王五每九天来一次。问每过多少天他们才能一起在文化宫下棋? 分析:此问题实际上是求最小公倍数的数学问题。设结果为x ,其取值范围为1。因上限为无限大,计数值不能预先确定,故用while循环结构更合适。,三、循环、函数综合,21/23,#include using namespace std; void main() int x=1; while (1) if (x%5=0 ,22/23,题目:求100200之间不能被3整除也不能被7整除的数。 分析:求某区间内符合某一要求的数,可用一个变量“穷举”。所以可用一个独立变量x,取值范围100200。 f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爪形三角形研究+课件-2026届高三数学二轮复习
- 2026五年级数学下册 折线统计图能力测评
- 英语语法学习要点与考试及答案
- 机械编程类考试题及答案
- 运营管理案试题及答案
- 产业园企业服务全流程制度
- 驾校教练员考核奖惩制度
- 景区绿化人员奖惩制度
- 铁路护路考核奖惩制度
- 员工劳动纪律奖惩制度
- 【2026年中考复习】全国中考物理真卷综合能力题100道(上)
- 2026年雨季安全驾驶试题及答案
- 纳税人员财会制度
- 15D501建筑物防雷设施安装图集
- 电气识图与绘图教学课件
- 低压电工特种作业全套教学课件
- 中药学电子版教材
- 快速计算离散傅里叶变换
- 中央空调系统维保服务报价清单
- Inventor教案打印完整版
- 辉南县巡游出租汽车驾驶员从业资格考试区域科目考试题库
评论
0/150
提交评论