- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例3.32】打印出所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。。 1.算法思路 (1)若x为三位数,则x=abc;其中a,b,c各为一位数,其中a≠0。 (2)分解出百位、十位和个位数的方法:a=x/100;b=(x-a*100)/10;c=x%10; (3)若x==a3+b3+c3成立,是水仙花数,则输出该数。 (4)对用循环实现对所有的三位数进行判断,循环范围100~999 #include stdio.h void main() { int x=100,a,b,c; while(x1000) { a=x/100;b=(x-a*100)/10;c=x%10; /* 分解出百位、十位和个位数*/ if(x==a*a*a+b*b*b+c*c*c) /*判断x==a3+b3+c3是否成立*/ printf(%5d,x); x++; } } 【例3.33】 求 1.算法思路 (1)求n!=1*2*……*n,需要单循环完成,t=t*i,i从1到n。一般情况下,连乘积t的初值应设为1。 (2)求 又是求累加和的循环。 (3)有两个变化的因素,因此需要二重循环完成。 #include stdio.h void main() {int n,i=1; long sum=0,t=1; for(n=1;n=20;n++) /*外循环求和*/ {t=1; for(i=1;i=n;i++) /*内循环求n!*/ t=t*i; sum=sum+t; } printf(sum=%ld\n,sum); } 本例有两个变化的因素,采用二重循环实现。但当两个变因之间有联系时,也可将二重循环改写成一重循环。一重循环的运行效率会大大优于二重循环。 【例3.34】有36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两人抬1块砖,恰好一次全部搬完,编程求出成年男子、成年女子和儿童各有多少人。 1.算法思路 (1)设男、女和小孩分别有x,y,z人。则有方程组: (2)3个未知数,两个方程,显然是一个不定方程,有无穷组解。但此方程有约束条件,即:人x,y,z都是整数,砖也是整数; (3)不定方程一般采用枚举法,即将所有可能的情况都列出来,挑满足约束条件的解。 (4)枚举一般用循环完成,x在1~9之间变化,y在1~12之间变化,z=36-x-y。两个变化因素,用二重循环实现。 (5)判断条件:当4*x+3*y+z/2.0==36成立时,即输出解; #include stdio.h void main() { int x,y,z; for(x=1;x10;x++) for(y=1;y13;y++) {z=36-x-y; if(4*x+3*y+z/2.0==36) printf(\nx=%d,y=%d,z=%d,x,y,z); } } 思考:将判断条件写成:4*x+3*y+z/2==36是否可以?为什么? 【例3.35】打印以下图案 * * * * * * * * * * * * * * * * * * * * * * * * * 1.算法思路 该菱形图案是两个三角形组成,先分析上面的三角形。 (1)三角形由多行组成,设一个变量i(1~4)来控制行。 (2)设第一行的“*”前面有m个空格,以后每行前面的空格逐行减少2个。则每行前面的空格数为:m-(i-1)*2; (3)变量j控制每行输出的“*” 号数,每行的“*”号数为2*i-1列,j的变化范围为:1~2*i-1。 (4)i从1→4可输出上三角形。程序不用修改,只要i从3变化1就可以输出下三角形。 (5)由于是由行和列两个变量控制循环,故需要二重循环。? #include stdio.h void main() {int i,j,k,m=20; for(i=1;i=4;i++) { for(k=1;k=m-2*(i-1);k++) /*输出每行前面的空格*/ printf( ); for(j=1;j=2*i-1;j++) /*输出“*”号*/ printf(* ); printf(\n); } for(i=3;i=1;i--) /*输出下三角形*/ { fo
您可能关注的文档
- 看电视精品课件三(2205KB).ppt
- 新型实用公共关系教程11章节(3812KB).ppt
- 第5课农耕时代的商业与城市1课件(1035KB).ppt
- 看电视精品课件一(1102KB).ppt
- 新型实用公共关系教程12章节(5727KB).ppt
- 看电视看电视(311KB).ppt
- 第5课让挫折丰富我们的人生第1框人生难免有挫折(1252KB).ppt
- 看菊花(1353KB).ppt
- 新型实用公共关系教程13章节(3538KB).ppt
- 第5课让挫折丰富我们的人生第2框挫折面前也从容(695KB).ppt
- 第5章节资产需求理论课件(295KB).ppt
- 第5章金融资产(1593KB).ppt
- 第5章进出口税费改(1819KB).ppt
- 新编C程序设计教程作者赵忠孝第6章节课案(2420KB).ppt
- 第5章静电场(18301KB).pptx
- 新编C语言程序设计教程作者钱雪忠新编C语言程序设计教程课件1数据的机内表示和存储课案(268KB).ppt
- 第5章课件新教材第五章课件(631KB).ppt
- 新编C语言程序设计教程作者钱雪忠新编C语言程序设计教程课件2格式化输出与输入课案(414KB).ppt
- 第5章零件形变编辑(205KB).ppt
- 新编C语言程序设计教程作者钱雪忠新编C语言程序设计教程课件3数组常用操作课案(572KB).ppt
最近下载
- EN_IEC_60034-14-2018 旋转电机 - 第 14 部分:轴高 56 mm 及以上的某些机器的机械振动 - 振动严重程度的测量、评估和限制 (IEC 60034-14-2018).pdf VIP
- 提高PICC导管维护规范率..pptx
- Module 1 Wonders of the world Unit 1课件-外研九上(含音频+视频).pptx VIP
- 职业病诊断医师资格考试试题带答案.docx VIP
- 大学试题《工业通风与除尘》考试题库无答案.doc VIP
- 本科十四五教材针灸治疗学呃逆PPT课件.pptx VIP
- 中药材产业发展情况调研报告-中药材产业发展存在的问题及对策建议.pdf VIP
- T/CASEI62001—2019 起重机械 安全状况评估.pdf VIP
- ISO9001:2015质量管理体系标准培训.pptx VIP
- (2025秋新版)教科版科学三年级上册全册PPT课件.pptx
文档评论(0)