计算机概论第8章循环结构1644.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机概论第8章循环结构1644.ppt

* */44 /*exam8_19.c 100元买100只鸡*/ #include stdio.h main() { int i,j,k; for(i=0; i*5=100; i++) for(j=0; j*3=100; j++) for(k=0; k/3=100; k+=3) if((i*5+j*3+k/3)==100 (i+j+k)==100) printf(Cock -- %d\tHen -- %d\tChicken -- %d\n,i,j,k); } * */44 程序运行结果: Cock -- 0 Hen -- 25 Chicken -- 75 Cock -- 4 Hen -- 18 Chicken -- 78 Cock -- 8 Hen -- 11 Chicken -- 81 Cock -- 12 Hen -- 4 Chicken -- 84 * */44 例8.20编写程序,在屏幕上输出如下所示的矩阵数据,该矩阵的列数为东行数为5一20行,通过键盘输人矩阵的行数输出矩阵的值二 * */44 分析:该矩阵数据的组成规律为:第1行第1列的数值为3,同一行中后一个数据的值是前一个数据的值加2;同一列中后一个数据的值是前一个数据的值加3。 用变量a表T要输出的每一个数据,a的初始值为3;变量n表示要输出数据的行数;用i表示循环变量。算法流程如图8.18所示. * */44 * */44 例8.21输出如图8.19所示的图案,图案的最大宽度值(水平方向,的个数)由键盘输人。 分析:设最大宽度值为width,根据图案的规律,输出的总行数为width+width-1. 将图案分成上下两部分考虑,上半部分有width行,可以用一个循环完成“*”的输出,下半部分循环有width-1行,每行分成左右两个部分,左边部分用一个循环完成空白符号的输出,右边部分用一个循环完成“*”的输出。 * */44 * */44 小结 : 本章主要讨论了3种循环结构语句:fur, while和do while循环,另外还了解了if语句和goto语句组合构成的循环。 一般情况下,3种循环语句都可以用来处理同一类问题,但当循环次数肯定的情况下,用for循环比较方便。 3种循环都可互相嵌套以构成各种混合嵌套结构. while循环和for循环都要先判断条件再执行循环体语句,因此,有可能一次也不执行循环体语句,而do while循环不论怎样都会先执行一次循环体语句。 使用循环结构时要注意避免以下几个方面的问题。 1.循环体语句为复合语句,但没有使用花括号。 2使程序产生无限循环. 3.混淆break语句与continue语句的功能。 * */44 同for循环和while循环一样,do while中的循环体语句是用一对花括号括起来的复合语句,若循环体语句只有一条语句,则可以不用花括号. 一般情况下,一定要有可以使条件表达式的值等于零的语句,否则会使程序出现无限循环而发生错误。 Do while循环与while循环和for循环的最大区别在于:do while循环中的循环体语句至少会执行一次,因为是先执行循环体语句,后判断条件表达式;而while循环和for循环中的循环体语句有可能一次也不被执行。 注意 : 结束 输出 开始 输入 语句 条件 F T * */44 例8.9编写程序,将例8.1所述的几何级数求和问题用do while语句的形式实现。 /*exam8_9.c 用do-while简单几何级数的和*/ #include stdio.h main() { int i=1,sum=0; do { sum=sum+i; i++; }while(i=100); printf(sum=%d\n,sum); } 程序运行结果: sum=5050 * */44 【例8-10】编写程序,从键盘输入x的值,求sin(x)=x-x3/3!+x5/5!-x7/7!+…直到最后一项绝对值小于le-7(即10-7)为止。 分析: 分析:该多项式第1项为x,多项式从第二项起,每一项都是前一项乘以一个因子, (-x2)/(n*(n-1)) (n=3,5,7,9……) 用s代表sin x的值,并取s的初值为0; t代表每一项的值,且t的初值为x;从第2项开始,后面每1项的值为: t=t*(-x2) / (n*(n-1)); 循环计算表达式:s=s+t;直到t的值满足

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档