c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构

c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构

ID:30773805

大小:209.88 KB

页数:15页

时间:2019-01-03

c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构_第1页
c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构_第2页
c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构_第3页
c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构_第4页
c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构_第5页
资源描述:

《c语言程序设计(第3版)何钦铭-颜-晖-第4章-循环结构》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第4章循环结构【练习4-1】在例4-1程序屮,如果对item赋初值0,运行结果是什么?为什么?如果将精度改为103运行结果有变化吗?为什么?解答:如果对item赋初值0,则程序运行结果是pi二0,因为item为0时不满足while循环的执行条件,即不执行循环,故pi值为0。如果将精度改为10-3,运行结果会有变化,因为精度改变意味着while循环的条件改变,精度变大使得while循环次数减少,必然影响到n的值。【练习4-2】运行例4-2程序时,如果将最后一个输入数据改为-2,运行结果有变化吗?如果第一个输入数据是-1,运行结果是什么?为什么?解答:

2、如果将最后一个输入数据改为-2,运行结果没有变化,因为最后一个负数是一结束标志,不进行统计,故任意一个负数都可以。如果第一个输入数据是-1,运行结果是:Gradeaverageis0,因为第一个输入就是T,则while循环条件不成立,不执行循环体。【练习4-3】序列求和(1-1/4+1/7-1/10+1/13-1/16+…):输入一个正实数eps,计算序列1-1/4+1/7-1/10+1/13-1/16+…的值,精确到最后一项的绝对值小于eps(保留6位小数)。试编写相应程序。解答:#include#inelude

3、intniain(void){intdenominator,flag;doubleitem,s,eps;printf("Inputeps:”);scanf(“%lf”,&eps);flag=1;denominator二1;item二1.0;s=0;while(fabs(item)>=eps){item=flag*1.0/denominator;s二s+item;flag二-flag;denominator=denominator+3;printf(as=%f”,s);return0;}【练习4-4】如果将例4-3程序中的do-while语句改为

4、下列whi1e语句,会影响程序的功能吗?为什么?再增加一条什么语句,就可以实现同样的功能?while(number!=0){number=number/10;count++;}解答:会有影响,因为当输入数据number为0时,上述while循环将不执行,count值仍为0,故输出为0,不符合题目要求。可增加一条辻语句来解决上面的问题,在wh订e循环前加上语句"if(number==0)count=l;”。【练习4-5】例4-4程序中的第9〜15行可以用下列for语句替代吗?为什么?for(i=2;i<=m/2;i++)if(m%i==0)print

5、f(/,No!,z);elseprintf(〃%disprimenumber!,/,m);解答:不能代替,因为只用一个数来除不足以判断该数是否是素数。【练习4-6】猜数字游戏:先输入2个不超过100的正整数,分别是被猜数mynumber和允许猜测的最大次数n,再输入你所猜的数yournumber,与被猜数mynumber进行比较,若相等,显示猜中,;若不等,显示与被猜数的大小关系,最多允许猜n次。如果1次就猜出该数,提示“Bingo!";如果3次以内猜到该数,则提示"LuckyYou!”;如果超过3次但不超过n次猜到该数,则提示“GoodG

6、uess!”;如果超过n次都没有猜到,则提示"GameOver";如果在到达n次Z前,用户输入了一个负数,也输出"GameOver",并结束程序。试编写相应程序。解答:#includeintmain(void){intmynumber,n,yournumber,i;printf(z,Inputmynumber:〃);seanf(〃%d〃,&mynumber);printf(,zInputn:〃);scanf(〃%d〃,&n);for(i=l;i<=n;i++){printf("Inputyournumber:z/);seanf(〃

7、%d〃,&yournumber);if(i二二l&&yournumber二二mynumber){printf("Bingo!〃);break;}if((i二二2i二二3)&&yournumber二二mynumber){printf("Luckyyou!,z);break;}if((i>3&&i〈二n)&&yournumber==mynumber){printf("GoodGuess!,z);break;}if((i二二n&&mynumber!=yournumber)

8、

9、mynumber〈01

10、yourrminber〈0){printf(z,Game

11、Over!,z);break;}}return0;}【练习4-7】求e的值:输入1个正整数n,计算下式求出e的值(保留2位

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。