- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言---循环结构设计
6.7 循环的嵌套 #define PI 3.14159 main( ) { int r ; float area; for( r=1 ; r=10 ; r++ ) { area=r*r*PI; if(area100) break; printf(r=%d\tarea=%.2f\n,r,area); } } 说明: continue语句只结束本次循环; break语句是终止本层循环的执行; 要从很多重循环的内层跳到最外层, 可考虑用goto语句,但应尽量少用。 判断整数m是否为素数算法流程图 判断整数m是否为素数程序1 main( ) { int m,i; scanf(%d,m); 判断整数m是否为素数程序2 main( ) { int m,i; scanf(%d,m); 判断整数m是否为素数程序3 main( ) { int m,i; scanf(%d,m); 注意到这个例题与上个例题既有相同之处,又有不同之处。可以在上个程序的基础上进行改进,以实现规定的功能。 与上个例题相同之处在于都需要进行素数的判断;不同之处在于对于每个被判断的数,若是素数,则输出之,若不是素数,则不予输出。 程序中要对多个整数进行判断,需要使用循环结构;在对每个整数进行判断时,又需要使用循环结构。因此整个程序要使用循环的嵌套。 例:译密码。为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。 思路:可以按以下规律将电文变成密码: 将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。非字母不变。 译电码流程图 上机实验 本次:1、验证性实验: 实验教材P30页验证性实验(3) 2、设计性实验 (1) 实验教材P36页设计创作实验(1) (2) 习题P129页6.8。 下次: 设计性实验 教材P129习题6.1、习题6.2、习题6.14 expr …… break; …… 假(0) 真(非0) while do …… break; …... expr 假(0) 真(非0) while expr2 …… break; …... 假(0) 真(非0) for expr1 expr3 break; expr …… continue; …… 假(0) 真(非0) while 真(非0) do …… continue; …... expr 假(0) while expr2 …… continue; …... 假(0) 真(非0) for expr1 expr3 continue; 6.9 程序举例 例 用以下公式计算л的值,直到最后一项的绝对值小于1e-6为止。 算法分析: pi=pi+t; t=s/n;s=1或-1交替形式出现,n=n+2, 程序中不变的是加法: 变的是加的内容:t要更新,s要更新,n要更新 变量初始值:pi=0;n=1,s=1,t=1; 循环结束的条件是:当|t|?1e- 6 数据类型:pi,t必须为float型;n,s可为int型; 6.9 程序举例 例 用以下公式计算л的值,直到最后一项的绝对值小于1e-6为止。 pi=0,n=1.0,s=1, t=s/n 当|t|?1e- 6 pi=pi+t n=n+2 s=-s t=s/n pi=pi*4 输出pi #include stdio.h # include math.h main( ) { int s=1; float n, t, pi; n=1.0; t=s/n; pi=0.0; while (fabs(t)=1e-6) { pi=pi+t; n=n+2; s=-s; t=s/n; } pi=pi*4; printf(pi=%10.6f\n ,pi); } 例 求Fibonacci数列:1,1,2,3,5,8,…的前40项。递推公式: 算法分析(迭代法) 1.进行20次循环,每次计算并输出两项f1, f2 ; 2. 输出f1, f2后,计算得到新的f1, f2: f1=f1+f2 f2=f2+f1 数据类型: 此数列增长很快,f1、f2宜用长整型(%ld), 输出安排: 每行输出四个数,即每输出4个数后输出一个换行符(\n)。 f1=1, f2=1 for i=1 to 20 输出f1
文档评论(0)