006-循环结构的程序设计(图形打印题).ppt

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

* 例:输入10个整数,求其中正数的个数及平均值,精确到小数点后两位。 int main ( ) { int i, count=0, j, sum=0; for ( i=1; i=10; i++) { printf(Input integer:); scanf(%d, j); if ( j = 0 ) continue; /*结束本次循环,不进行后续操作*/ count ++; /* 计数器 */ sum += j; /* 求累加和 */ } if ( count0 ) printf(Plus number:%d,average value:%.2f, count, 1.0*sum/count); else printf(Plus number: 0, average value: 0); } * 6.5.3 goto语句 格式 goto 标号; 功能 将程序控制转移到标号所指定的语句处继续执行。标号的唯一功能就是作为goto语句的目标。标号的作用域是它所在的整个函数。 注意:为了保证程序的结构化,不允许使用向上goto语句 * 6.5.3 goto语句 例:已知一首项大于0的等差递增数列的前四项和为26,前四项的积为880,求这数列。 设数列的第一项为a(a0),公差为d(d0)。则该数列满足条件:    a+(a+d)+(a+2*d)+(a+3*d) = 4*a+6*d = 26    a*(a+d)*(a+2*d)*(a+3*d) = 880 可以推出,首项a和公差d的取值范围为: 1 = a =5 1 = d =3 可以使用穷举的方法,在 首项a 和 公差d 的取值范围内进行判断。 * 6.5.3 goto语句 int main( ) { int a, x, y, d, i; for (a=1; a=5; ++a) /* 在a的范围内穷举 */ for (d=1; d=3; ++d) /* 在d的范围内穷举 */ { x=a+(a+d)+(a+2*d)+(a+3*d); /*前四项的和*/ y=a*(a+d)*(a+2*d)*(a+3*d); /*前四项的积*/ if (x==26 y==880 ) /*若满足条件*/ goto out; /* 退出二重循环 */ } out: /* 语句标号 */ for (i=0; i=20; ++i) /* 输出运行结果 */ printf(%d,, a+i*d); } * 6.5.3 goto语句 int main( ) { int a, x, y, d, i, flag=1; /* flag:标志变量 */ for (a=1; a=5 flag; ++a) /*flag!=0是进行循环*/ for (d=1; d=3 flag; ++d) { x=a+(a+d)+(a+2*d)+(a+3*d); /*前四项的和*/ y=a*(a+d)*(a+2*d)*(a+3*d); /* 前四项的积*/ if (x==26 y==880) /* 若满足条件 */ { for (i=0; i=20; ++i) /* 输出结果 */ printf(%d,, a+i*d); flag = 0; /* 控制退出二重循环 */ } } } 通过增加标志变量可以有效地控制循环 * 6.5.4 return语句 格式 格式1:return; 格式2:return (表达式); 功能 return语句使程序从被调用函数中返回到调用函数的调用处继续运行; 如果return后跟一表达式

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档