- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华农C语言 第5章 循环结构程序设计
思路分析:该问题本质上是一个累加求和的过程,可以使用循环来解决,关键是找出每次循环累加的各项的规律。 (1)每一项的分子都是1; (2)第一项的分母是1,后一项的分母是前一项加2; (3)第一项的符号为正,以后每一项都与前一项相反。 结束循环的条件:计算出每一项的值后,检查其绝对值是否小于10-6,若是则结束循环。 #include stdio.h #include math.h int main() { int sign=1; //代表每一项的符号 double pi=0.0,n=1.0,item=1.0; //pi-和,n-分母,item-每一项的值 while(fabs(item)1e-6) { pi=pi+item; //累加 n=n+2; //计算下一项的分母 sign=-sign; //计算下一项的符号 item=sign/n; //计算下一项的值 } pi=pi*4; printf(“pi=%.8f\n, pi); return 0; } pi=3思路分析:根据Fibonacci数列的特点,可以定义变量f表示数列当前需要计算的项,f1和f2表示f的前两项,令其初值均为1,即代表第1项和第2项,并输出。循环从第3项开始计算,到第40项结束。每次循环完成如下工作: (1)计算数列当前的项,即f=f1+f2; (2)输出数列当前项,如果当前项是4的倍数,输出换行; (3)调整f1和f2代表新的前2项,为计算下一项做准备,即f1=f2,f2=f。 #include stdio.h int main() { int f1,f2,f,i; f1=f2=1; //令前两项的值均为1 printf(“%12d%12d”,f1,f2); //输出前两项 for(i=3;i=40;i++) { f=f1+f2; //计算第i项 printf(“%12d”,f); //输出第i项 if(i%4==0) printf(“\n”); //每4项换行 f1=f2; f2=f; //调整,为计算下一项准备 } return 0; } 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 24157817 102334155 课后习题 教材课后习题4、5、6 、7 * * 第5章循环结构程序设计 5.1 循环
文档评论(0)