ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:22KB ,
资源ID:17419133      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17419133.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计第3版何钦铭颜晖第4章循环结构Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计第3版何钦铭颜晖第4章循环结构Word文档格式.docx

1、【练习 4-5】例 4-4 程序中的第 915 行可以用以下 for 语句替代吗?for( i = 2; i = m/2; i+) if( m%i = 0 ) printf(No!n); else printf(%d is prime number!,m);不能代替,因为只用一个数来除缺乏以判断该数是否是素数。【练习4-6】猜数字游戏:先输入2个不超过100的正整数,分别是被猜数mynumber和允许猜测的最大次数n,再输入你所猜的数yournumber,与被猜数mynumber进展比较,假设相等,显示猜中,;假设不等,显示与被猜数的大小关系,最多允许猜n次。如果1次就猜出该数,提示“Bing

2、o!;如果3次以内猜到该数,那么提示“Lucky You!;如果超过3次但不超过n次猜到该数,那么提示“Good Guess!如果超过n次都没有猜到,那么提示“Game Over;如果在到达n次之前,用户输入了一个负数,也输出“Game Over,并完毕程序。#include int mynumber,n,yournumber,i; printf(Input mynumber: scanf(%d,&mynumber);Input n:n); for(i=1;i3&=n)&Good Guess! if(i=n&mynumber!=yournumber)|mynumber0|yournumber

3、int i, j, n;double e, t;printf( scanf(, &e = 1;for (i = 1;= n; i+)t=1;for(j=1;j0) Enter %d marks:, n);mark); /* 读入第一个成绩 */max = mark; /* 假设第一个成绩是最高分 */ n; i+ ) if (max x) min = x;min = %dn, min);【练习 4-11】统计素数并求和:输入2个正整数m和n1mn500,统计并输出m和n之间素数的个数以及这些素数的和。素数就是只能被 1 和自身整除的正整数,1 不是素数,2 是素数。 int i,m,n,j,c

4、ount; double sum;Enter m:m); count=0; sum=0; for(;mj&m!=1) sum=sum+m; count+;count=%dnsum=%.0lf,count,sum);习题4一选择题1C 语言中 while 和 do-while 循环的主要区别是 A 。Ado-while 的循环体至少无条件执行一次Bwhile 的循环控制条件比 do-while 的循环控制条件严格Cdo-while 允许从外部转到循环体内Ddo-while 的循环体不能是复合语句2以下表达中正确的选项是 C 。Abreak语句只能用于switch语句体中Bcontinue语句的作

5、用是使程序的执行流程跳出包含它的所有循环Cbreak语句只能用在循环体内和switch语句体内D在循环体内使用break语句和continue语句的作用一样3以下表达中正确的选项是 D 。Ado-while语句构成的循环不能用其它语句构成的循环来代替。Bdo-while语句构成的循环只能用 break 语句退出。C用do-while语句构成的循环,在 while 后的表达式为非零时完毕循环。D用do-while语句构成的循环,在 while 后的表达式为零时完毕循环。4执行 x=-1; do x=x*x; while (! 循环时,以下说法正确的选项是 A 。A循环体将执行一次C循环体将执行无

6、限次B循环体将执行两次D系统将提示有语法错误5假设变量 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值c 大于 0,那么与以下程序段 s=a;for(b=1;b=c;b+) s=s+1;功能等价的赋值语句是 B 。As=a+b; Bs=a+c; Cs=s+c; Ds=b+c;6以下程序段的输出结果是 B 。 int num=0,s=0; while(num=2) num+; s+=num;%dn,s);A10 B6 C3 D17运行以下程序后,如果从键盘上输入 65 14,那么输出结果为 C 。int m, n;Enter m,n;%d%dm,&n): while (m!=n) wh

7、ile (mn) m=m-n; while (nm) n=n-m; printf(m=%dn return 0;Am=3 Bm=2 Cm=1 D.m=0 8以下程序段的输出结果是 A 。int main(viod) int i; for(int i=1;6; if(i%2!=0) # continue;*A#*#*# B# C* D*#*#*二、填空题1假设 s0,执行循环语句for(i=1; i=10; i=i+3) s=s+i;后,i 的值为 13 。2以下程序段的输出结果是 * 。int x=2;do printf(“*); x-; while (!x=0);3以下程序段的功能是计算:s

8、=1+12+123+1234+12345。那么划线处应填 t*10 。int t=0,s=0,i;=5;i+) t=i+_ ;s=s+t;s=%dn4以下程序的输出结果是 12 。 int num=0;while(num6) num+;if(num=3) break;%d,num);5阅读以下程序并答复以下问题。 int i, j, k=0, m=0; for(i=0;2; ; /*第 5 行*/ for(j=0; j=acvz) c=+c- putchar(c);三程序设计题1求奇数和:输入一批正整数(以零或负数为完毕标志),求其中的奇数和。 int x, sum;Input integer

9、s:sum = 0;while(xif(x%2!=0) sum = sum + x;The sum of the odd numbers is %dn, sum);2展开式求和:输入1个实数x,计算并输出下式的值,直到最后一项的绝对值小于0.00001,计算结果保存2位小数。要求定义和调用函数 fact(n)计算n的阶乘,可以调用 pow( )函数求幂。 s=x+x/2!+x/3!+x4/4!+double fact(int n); int i; double x,s,item;Input x:%lf s=0; item=1.0; i=1; while(fabs(item)=1e-5) ite

10、m=pow(x,i)/fact(i); s=s+item; i+;s=%.2lfdouble fact(int n) double result; for(result=1,i=1; result=result*i; return result;3.求序列和:输入一个正整数 n,输出2/1+3/2+5/3+8/5 +的前 n 项之和,保存 2 位小数。该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。 int n,i,s1=2,s2=3,s,p1=1,p2=2,p; double sum,item; if(n=3)=n-2; s=s1+s2; p=p1+p2; item

11、=1.0*s/p; sum+=item; s1=s2;s2=s; p1=p2;p2=p; else if(n=1)sum=2; else if(n=2)sum=3.5;sum=%.2lfn,sum); 4.求序列和:输入 2 个正整数a和n,求 a+aa+aaa+aaa(n个a)之和。例如,输入2和3,输出246(2+22+222)。 int a,n,i; double sum,temp;Input a,n:a,& sum=temp=0; temp=temp*10+a; sum=sum+temp;sum=%.0lf5换硬币。将一笔零钱大于8分,小于1元,准确到分)换成5分、2分和1分的硬币,每

12、种硬币至少有一枚。输入金额,问有哪几种换法?针对每一种换法,输出各种面额硬币的数量和硬币的总数量。 int money,money1,money2,sum;Input money:money); for(money1=1;money1=8;money1+) for(money2=1;money2money1)money5=1,money1=%d,money2=%dnsum=%dn,money1,money2,sum);elsemoney5=1,money2=%d,money1=%dnsum=%dn,money2,money1,sum);6输出水仙花数。输入一个正整数n3n7输出所有n位水仙花数

13、。水仙花数是指一个n位正整数,它各位数字的n次幂之和等于它本身。例如 153 的各位数字的立方和是 :1+5+3=153。 int n,i,t,m,sum,j,k; for(j=0,i=1; j=j*10+9; for(k=1,i=1;n; k=k*10;kk+) t=k; sum=0; while(k!=0) m=k; k=k%10; sum=sum+pow(k,n); k=m/10; k=t; if(sum=t),t);7求最大公约数和最小公倍数。输入两个正整数m和nm1000,n1000,求其最大公约数和最小公倍数。 int m,n,j,k; doInput m: scanf( whil

14、e(m0|n0); j=m; while(j%n!=0) j=j+m; k=(m*n)/j;最小公倍数是%d,最大公约数是%dn,j,k);8高空坠球。皮球从height米高度自由落下,触地后反弹到原高度的一半,再落下,再反弹如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输出保存1位小数。 double distance, height; int i, n;Input height: scanf(height); if(n = 0) distance = 0; else for(int i = 1; height = height/2; distance += 3*height;第%d次落地时,共经过距离为%0.1lf.n, n, distance);第%d次落

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1