




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 循环结构程序设计习题与题解5.1 写出下列各程序段的输出结果。(1) #includestdio.hmain() int a,b,i; a=1;b=3;i=1; do printf(%d,%d,a,b); a=(b-a)*2+b; b=(a-b)*2+a; if(i+%2=0) printf(n); while(b100); 解:输出结果: 1,3,7,15, 31,63, (2) #includestdio.hmain() int i; for(i=1;i=5;i+) if(i%2) printf(*); else continue; printf(#); printf($n); 解:输出结果: *#*#*#$(3) main() int k,j,s; for(k=2;k6;k+) s=1; for(j=k;j6;j+) s+=j; printf(%dn,s); 解:输出结果: 6(4) main() int i,j=4; for(i=j;i1e-6(2)打印100以内个位数为6且能被3整除的所有数。main() int i,j; for(i=0;_1_;i+) j=i*10+6; if(_2_)continue; printf(%d,j); 解:1:i=92:j%3!=0(3)输出1至100之间每位数的乘积大于每位数的和的数。main() int n,k=1,s=0,m; for(n=1;ns) printf(%d ,n); 解:1:m=n 2:m 3:m/=10(4)将从键盘输入的偶数写成两个素数之和。#include math.hmain() int a,b,c,d; scanf(%d,&a); for(b=3;b_1_;b+=2) for(c=2;csqrt(b) d=_3_;else break; for(c=2; _4_;c+) if(d%c=0)break; if(csqrt(d) printf(%d=%d+%dn,a,b,d); 解:1:=a/2 2:c=sqrt(b) 3:a-b 4:c=sqrt(d)5.3 输入100个整数,分别统计其中偶数和奇数的个数,试编写完整程序,。解:main() int x,n,m,i; n=0;m=0; for(i=1;i=100;i+) scanf(%d,&x); if (x%2=0) n+; else m+; printf(偶数为:%d,奇数为:%d,n,m);5.4 打印输出出所有的“水仙花数”。所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。如:153=13+53+33,故153是水仙花数。解:main() int i,j,k,n; printf(”水仙花”数是:); for (n=100;n1000;n+) i=n/100;/*求百位*/ j=n/10-i*10;/*求十位*/ k=n%10;/*求个位*/ if(n=i*i*i+j*j*j+k*k*k)printf(%4d,n); printf(n); 运行结果:”水仙花”数是:153 370 371 4075.5 编写打印输出以下图案的程序。 MTMTMTM MTMTM MTM M解:main() int i,j; for (i=1;i=4;i+) /*此循环控制行数.*/ for(j=1;j=i-1;j+)/*控制每行输出的空格数.*/ printf( ); for(j=1;j=9-i*2;j+)/*控制每行输出的符号数.*/ if (j%2=0) printf(T);/*第偶数个符号为T,奇数个为M.*/ else printf(M); printf(n);/*每行结束换行*/ 5.6 编写程序,对输入两个正整数m和n,求出它们的最大公约数和最小公倍数。解:main() int p,r,n,m,temp; printf(input m,n:); scanf(%d,%d,&n,&m); if(nm) temp=n;n=m;m=temp; p=n*m; while (m!=0) r=n%m; n=m; m=r; printf(最大公约数是:%dn,n); printf(最小公倍数是:%dn,p/n); 运行结果:input m,n:25 15最大公约数是:5最小公倍数是:75补充题与题解#5.1 一个数恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3而6=1+2+3,因此6是完数。编程找出求1000以内的所有完全数。解:# includemain()int a,i,m; for (a=1;a=1000;a+)for (m=0,i=1;i=a/2;i+) /*求a的因子,并将其累加到m中*/ if (!(a%i) m+=i; /*a%i为零即i为a的因子*/ if(m= =a) printf(“%4d”,a); 运行结果:6 28 496#5.2 求1+2!+3!+20!解:main()float n,s=0,t=1; for (n=1;n=20;n+) t=t*n; s=s+t; printf(“1!+2!+20!=%en”,s);运行结果:1!+2!+20!=2.56133e+18 #5.3 求100150之间和400450之间能被9整除的数。解:这种问题一般需要用两个循环来完成,若用continue语句,可以合并为一个循环结构。main()int n;for (n=100;n150&n400) continue; if(n%9= =0) printf(“%4d”,n); 运行结果:108 117 126 135 144 405 414 423 432 441 450#5.4 输入一个正整数,要求以相反的顺序输出该数。解:#includemain() unsigned int number; printf(Input the number:); scanf(%d,&number); do printf(%d, number%10);/*输出number的最后一位。*/ number/=10;/*去掉number的最后一位。*/ while (number!=0); printf(n);运行结果:Input the number:1234554321#5.5 求整数m的所有素数因子解:main( )int m,k=2;printf(“input m:”);scanf (“%d”,&m); while(k=1e-5);printf(The square root of%5.2f is%8.5fn,a,x1);运行结果Enter a positive number:5The square root of 5.00 is 2.23607#5.7 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过隐,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。解:猴子吃桃问题,递推问题中的“倒推”,即数列前面的数值要由后面的数值推算出。知道最后一天的桃子数,可以一天一天倒推到第一天的桃子数。设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 美术艺考签约班合同范本
- 用工合同保险协议书范本
- 生物柴油厂采购合同范本
- 物业务工合同协议书范本
- 项目投标工程协议书样本
- 电商开店学员合同协议书
- 物业服务协议终止协议书
- 汽车租赁合同解除协议书
- 高空作业安全协议合同书
- 门面转让合同协议书样本
- 中国创新药械多元支付白皮书2025
- 钻石培训资料
- 剪纸手工活合作合同范本
- LY/T 3416-2024栓皮采集技术规程
- 《声光影的内心感动:电影视听语言》期末考试
- 水稳料采购合同协议书
- 2025内蒙古烟草局招聘142人高频重点提升(共500题)附带答案详解
- 高考作文-“新八段文”精讲
- 构建高校生涯教育内容体系
- 议论文知识点总结及真题训练
- 《齿轮泵的工作原理》课件
评论
0/150
提交评论