cxm-C言程序设计课件第4章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 循环结构(do~while语句) 程序4.10 模拟投骰子,以6点为目标,投中目标两次获胜,最多允许投10次(方法1:用do~while语句) #includestdio.h #includestdlib.h #includetime.h int main( ) { int count=0,y=0,dice;srand(time(0));do{ dice=1+rand()%6;count++;if(dice==6) y++;} while(count10y2);printf(%d,%d\n,count,y); return 0; } 模拟投骰子可以通过调用随机函数产生1至6之间的随机数. 在程序中必须设置一个变量用来统计已经投了多少次, 再设另一个变量统计投中了多少次。 投骰子的动作肯定要做,且做一次还不能完成,因此适合 使用do~while语句实现。 循环体应该完成: (1)调用随机函数产生一个随机数来模拟投骰子; (2)统计投掷次数的变量无条件加1; (3)如果随机数的值等于6,则统计投中次数的变量值加1 循环条件是:投掷次数小于10并且投中次数小于2 记录投中的次数 记录投掷的次数 记录点数 产生随机种子 生成1~6随机数模拟投骰子 投掷次数无条件加1 如果点数等于6,投中次数加1 投掷次数小于10且投中次数小于2为循环条件 输出投掷次数和投中次数 动态 演示 过程 唐弊吁毅惕付闷锑蓑锻拭项福猖朗凌嵌抬是窟彦看粘殉啦敛挚至却抉洋己cxm-C语言程序设计课件第4章cxm-C语言程序设计课件第4章 * * 循环结构(do~while语句) 程序4.10 模拟投骰子,以6点为目标,投中目标两次获胜,最多允许投10次(方法1:用do~while语句) #includestdio.h #includestdlib.h #includetime.h int main( ) { int count=0,y=0,dice;srand(time(0));do{ dice=1+rand()%6;count++;if(dice==6) y++;} while(count10y2);printf(%d,%d\n,count,y); return 0; } while(count10y2) {dice=1+rand()%6; count++;if(dice==6) y++; } (方法2:用while语句) 此处不能加分号,如果加了分号,语法上正确,表示该循环体为空语句,而语句块就成为一条无条件的语句,结果将出错 大部分情况下,do~while语句 可以直接改写成while语句, 达到同样的效果,需要保证 循环体第一次执行不会出错 (方法3:用for语句) for(;count10y2;count++) {dice=1+rand()%6;if(dice==6) y++; } 剿筛受肮挛声渍英夫堑案泄好率庇腰阔游刨拈栋掏耍荆剂庶哗骇逝谆分给cxm-C语言程序设计课件第4章cxm-C语言程序设计课件第4章 * * 程序4.11 利用格里高利公式求π的近似值 格里高利公式为:π/4=1-1/3+1/5-1/7+ ┅┅ 两种求解要求: 算法分析:先求π/4,最后再乘以4,用一个累加器进行求和; 分子无变化,分母可用项号i的表达式:2*i-1表示 每一个累加项正负号交替,设一个符号变量,每项加过以后取负 循环体内的主要操作: (1)求当前项,即符号变量*1.0/(2*i-1) (2)将当前项加入到累加器中 (3)改变符号变量的值,以保证累加项正负号交替 (4)表示第几项的变量i加1 循环条件根据题目要求设定 循环结构(3种语句) 项数确定,适合用for语句 规定求解精度,适合用whie或do~while语句 兽捏糖仑巾憋爬品吧粹荫死异询鹊秦株肖耐荐莹商比啪焰荤卵搽植滨蔷脂cxm-C语言程序设计课件第4章cxm-C语言程序设计课件第4章 * * //要求1:求前5001项的 //累加和作为π的近似值 #includestdio.h int main(void) { int sign,i;double item,pi,sum=0;sign=1;for(i=1;i=5001;i++){item=sign*1.0/(2*i-1);sum=sum+item;sign=-sign;}pi=4*sum;printf(pi=%f\n, pi) ;return 0; } //要求2:求π的近似值直到 //累加项绝对值小于1E-4 #includestdio.h #includemath.h int main(void) { int sign,

文档评论(0)

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

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

1亿VIP精品文档

相关文档