




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章 循环结构程序设计5.1 实验目的(1)掌握用while语句, dowhile语句和for语句实现循环的方法。(2)掌握在程序设计中用循环的方法实现各种算法。(3)掌握循环结构中循环嵌套的实现。(4)掌握continue, break, 和goto跳转语句的使用。5.2 知识要点(1)while循环结构语法为: while (表达式) 语句; 或 while (表达式) 循环体语句组; (2)dowhile循环结构语法为: do 语句; while (表达式); 或 do 循环体语句组; while (表达式);(3)for循环结构语法为: for (表达式1; 表达式2; 表达式3) 语句; 或 for (表达式1; 表达式2; 表达式3) 循环体语句组; (4)循环嵌套一般指一个循环体内包含另一个完整的循环结构,构成双重循环结构, 如果内嵌的循环中还嵌套循环,就构成多重循环,for, while, dowhile三种循环结构可以互相嵌套。5.3 实验范例5.3.1 奇数数列级数计算 1. 问题的提出用循环程序计算 sum=3+5+99。2. 算法及程序设计分析(1)sum是3到99间奇数之和。(2)循环变量n从3循环到99,对每个n执行下面循环程序; 如果n是偶数,执行continue语句,就跳过后面的循环语句 sum=sum+n;。算法的流程图如图5-1所示。图5-1 算法流程图3. 源程序及说明/ex05_1.cpp#include using namespace std;int main( ) int n, sum=0; for (n=3; n=99; n+) / n从3循环到99,每次加1 if (n%2=0 ) continue; /如果n是偶数,用continue语句提前结束本次循环 sum=sum+n; cout”sum=”sumendl; return 0;4. 程序调试及运行结果分析运行结果如图5-2所示。图5-2 输出结果运行结果正确。在本例程序中,用n除2的余数是否等于0来判断n是否为偶数,若n是偶数,用continue语句跳过后面的sum=sum+n;语句。5.3.2 阶乘数列级数计算1. 问题的提出用循环程序计算 sum=3!+5!+11!2. 算法及程序设计分析(1)用循环控制变量n实现各项累加:for (n=3; n=11; n=n+2) /n从3循环到11,每次n加2 计算n!;sum=sum+n!;(2)用一个内层循环结构计算n!定义整型变量x=1存储n!for (int j=1; j=n; j+)x=x*j;算法的流程图如图5-3所示。图5-3 算法流程图3. 源程序及说明/ex05_2.cpp#includeusing namespace std;int main( ) int i,n,x,sum=0; for (n=3; n=11; n=n+2) / n从3循环到11,每次加2 x=1; / 用x存储n的阶乘 for (i=1; i=n; i+) x=x*i; sum=sum+x; coutsum=sumendl; return 0;4. 程序调试及运行结果分析运行结果如图5-4所示。图5-4 输出结果运行结果正确。在本例程序中,求各项和的外层循环,和sum的初值是0,而计算阶乘的内层循环中用于存储阶乘的变量x的初值设为1,注意累加和累乘在初值上的区别。5.4 实验习题1. 程序阅读,请写出下面程序执行结果,再上机运行,观察循环语句执行效果。 /ex05_3.cpp #include using namespace std; int main( ) int i , card , color , points ; for(i=0;i17;i+) card=rand( )%52; color=card%4+3; cout(char)color; if(card=31) points=card/4+3; cout pointsendl; else switch(card/4+3) case 11: cout Jendl; break; case 12: cout Qendl; break; case 13: cout Kendl; break; case 14: cout Aendl; break; case 15: cout 2endl; return 0; 2. 程序阅读,请写出下面程序的执行结果。本题重点考察do.while循环结构的知识。/ex05_4.cpp#include using namespace std;int main( ) int a=10, b=0; do b+=2; a-=b+2; couta=a,b=b=0);return 0;3. 程序阅读,请写出下面程序的执行结果。本题重点考察for循环结构河break语句的运用。/ex05_5.cpp#includeusing namespace std;int main( ) int a, b; for(a=1, b=1; a=10) break; if (b%3 = 1) b+=3; couta=aendl; coutb=bendl;return 0;4. 程序改错,请将程序中的错误改正过来。本程序的功能是输出 “#*#*#”/ex05_6.cpp#include using namespace std;int main( ) int i;for (i=1; i6; i+) if (i%2) cout#; continue; cout#; coutendl; return 0;5. 程序改错,请将程序中的错误改正过来。本程序是计算的程序,计算公式 /41-1/3+1/5-.,直到最后一项小于10-7。/ex05_7.cpp#include #include using namespace std;int main( ) int n, t, pi; while (fabs(t)(1e-7) pi=pi+t; n=n+2; t=1/n; pi=pi*4; cout”pi=”piendl;return 0;6. 程序填空,在横线上填写语句使程序完整。本程序的功能是求100以内的整数中,能被13整除的最大数。/* ex05_8.c */#include int main( ) int i; for ( ; ; i+) if ( ) break; printf(i=%dn,i); return 0;实验5题目17. 程序填空,在横线上填写语句使程序完整。本程序的功能是用1,2,3可组成多少各位无重复的3位数,分别输出,每行输出3个数。/ex05_9.cpp#include using namespace std;int main( ) int i, j, k, n=0; / 用n记录个数 for ( ) for ( ) for ( ) if ( ) /判断i, j, k三位各不相同 coutijk ; ; if (n%3 = 0) coutendl; coutendl;coutn=nv,辗转用操作: r=u%v; u=v; v=r;直到v=0时结束,结束时的u值就是所求解。9. 程序设计,公鸡5元一只,母鸡3元一只,小鸡1元三只,刚好花100元买100只鸡,有哪些买法?要点分析:设定3个变量分别表示公鸡、母鸡和小鸡数量,用多重循环检验所有整数解。实验5题目210. 程序设计,从键盘输入3个大等于2的正整数,判断是否素数,如果是素数输出yes否则输出no。要点分析:素数是只能被1和它本身整除的数,如果被2到n-1的数整除则不是素数。11. 程序设计,设 s=1+1/2+1/3+.+1/n,求与8最接近的s的值及与之对应的n值。要点分析:本题数列级数随n的增大而增大,并不趋近于某个固定的极限,可用循环程序计算s的值,循环结束的条件是s大于或等于8,循环结束后只需判断s与s-1.0/n哪个与8更接近。12. 程序设计,从键盘输入一个正整数,判断是否能写成2个素数之和,并输出所有的素数组合。要点分析:假设该数是x,n从1开始循环到x-1,逐个判断n和x-n是否都是素数,若都是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025项目汕尾职业技术学院科研项目任务书合同书
- 2025北京华商电力产业发展有限公司高校毕业生招聘(第三批)模拟试卷及答案详解(夺冠系列)
- 2025湖南郴州市嘉禾县事业单位第一批公开招聘引进高层次人才和急需紧缺人才13人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025员工合同范本模板
- 2025年人工费合同5篇
- 安全监测考试题库及答案
- 中医白疕考试题库及答案
- 评审专家考试题库及答案
- 餐饮组长考试题库及答案
- 不签合同被辞退怎么赔偿5篇
- 大冶市大垴山金矿千家湾矿区铜矿矿产资源开发利用与生态复绿方案
- 试运行专项方案模板
- 3d打印实训小结
- 心内科科室运营分析报告
- 《肠道疾病解决方案》课件
- 人工智能辅助病理诊断
- 《统计学-基于Python》 课件 第7章 假设检验(Python-1)
- 回力品牌广告史
- 高考英语备考经验交流课件
- 淄博英文介绍课件
- 下肢静脉血栓健康宣教
评论
0/150
提交评论