§41 用格里高利公式求 的近似值(while语句).ppt

§41 用格里高利公式求 的近似值(while语句).ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * §4.1 用格里高利公式求?的近似值(while语句) 第4章 循环结构 例4-1 用格里高利公式求?的近似值,要求精确到最后一项的绝对值小于10-5。 循环结构: 根据条件的判断对某一段程序重复执行 构成循环的要素:循环体、条件判断、进入每次循环的准备 循环语句:for(表达式1; 表达式2; 表达式3) 语句 循环变量控制循环次数:循环变量、初值、终值、增量 pi=pi+item(通项) item=flag*1.0/(2*i-1) flag=±1,i=1,2,…,? 分析 循环结束条件: |item|<10-5 则循环条件判断 |item|>=10-5 |item|>=10-5 pi=pi+item 非0 0 i=1 i=i+1 pi=0 4.1.1 程序解析 item=1 flag=1 item=flag/(2*i-1) flag=-flag pi=4*pi 输出pi 停 表达式1和表达式3不明确 #include <stdio.h> #include <math.h> void main( ) { int i,flag; double item,pi; pi=0;flag=1;i=1;item=1; for (;fabs(item)>=1e-5;) {pi=pi+item; i=i+1; flag=-flag; item=flag*1.0/(2*i-1); } pi=pi*4; printf("pi=%f\n",pi); } 省略了表达式1和表达式 #include <stdio.h> #include <math.h> void main( ) { int i,flag; double item,pi; pi=0;flag=1;i=1;item=1; while(fabs(item)>=1e-5) {pi=pi+item; i=i+1; flag=-flag; item=flag*1.0/(2*i-1); } pi=pi*4; printf("pi=%f\n",pi); } for循环语句改用while循环语句 4.1.2 while循环语句 当型循环 当条件为真(非0)时做循环,否退出循环 格式 while(表达式) 语句 其中 语句是一个语句或复合语句 表达式是条件,求值得真(非0)或假(0) 操作 当表达式的值非0,执行语句后继续循 环;当表达式的值0,终止循环。 表达式 语句 非0 0 loop:if(表达式) {语句; goto loop; } 等价于 for(;表达式;) {语句; } for(表达式1; 表达式2; 表达式3) {语句; } 表达式1; while(表达式2) {语句; 表达式3; } 例4-2 输入一批学生的成绩,统计平均分 思路: 输入一个成绩grade 累加成绩sum=sum+grade 统计人数num=num+1 …… ?循环何时结束 设grade>=0(成绩一定>=0) 则grade为负值时结束循环 grade>=0 sum=sum+grade 非0 0 num=num+1 num=0 sum=0 aver=sum/num 输出aver 停 输入grade 输入grade #include <stdio.h> void main( ) { int num; double grade,sum,aver; num=0;sum=0; scanf("%lf",&grade); while(grade>=0) {sum=sum+grade; num=num+1; scanf("%lf",&grade); } aver=sum/num; printf("aver=%f\n",aver); } grade>=0 sum=sum+grade 非0 0 num=num+1 num=0 sum=0 aver=sum/num 输出aver 停 输入grade 输入grade §4.2 统计一个整数的位数(do~while语句) 例4-3 从键盘读入一个整数,统计该数的位数。 例如,输入1234,输出4;输入0,输出1。 统计整数的位数,需要逐位地统计 思路:整数!=0算1位,整数/10->整

文档评论(0)

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

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

1亿VIP精品文档

相关文档