C语言程序设计(第3版)(微课版)-进阶案例 寻找水仙花数.docx

C语言程序设计(第3版)(微课版)-进阶案例 寻找水仙花数.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进阶案例——寻找水仙花数 1.案例介绍 所谓“水仙花数”,是指一个3位数,也就是介于100到999之间,满足其各位数字立方和等于该数本身的数。例如,153是“水仙花数”,因为153=13+53+33。在程序设计过程中,可以采用文件包含的方式,编写3个文件,通过互相调用实现该案例。输出结果如图9.4所示。 图 图9.4 进阶案例输出结果 首先编写主函数,文件命名为test.c,并在头部加上文件包含#include test1.c,利用for循环语句控制循环从100到999多次调用daff函数。然后编写daff函数,文件命名为test1.c,并在头部加上文件包含#include test2.c,在函数体中求出某个数字的个位、十位和百位,再去调用cub函数。最后编写cub函数,文件命名为test2.c,在函数体中判断输入的数每一位数字的立方和是否等于其本身,如果满足条件,返回值1,否则返回值0。注意函数头部前面加上static,目的是其他文件中只有通过加入文件包含才能使用该函数。 具体算法如下。 ① 编写主函数,利用循环语句控制循环从100到999多次调用daff函数。 ② 编写daff函数,求出某数的个位、十位和百位,调用cub函数,如果接收的值为1,则打印该水仙花数。 ③ 编写cub函数,如果某数各位的立方和等于其本身,则返回值1,否则返回值0。 3.项目代码 代码清单9.10: 文件test.c: #include?stdio.h #include?test1.c main() { ?????int?n; ?????printf(水仙花数有如下:\n); ?????for(n=100;n=999;n++) ?????????daff(n); } 文件test1.c: #include?test2.c static?void?daff(int?n) { ???????int?g,s,b; ???????g=n%10; ???????s=n/10%10; ???????b=n/100; ???????if(cub(g,s,b,n)==1) ?????????????printf(%d\n,n); } 文件test2.c: static?int?cub(int?g,int?s,int?b,int?n) { ???????if(g*g*g+s*s*s+b*b*b==n) ?????????????return?1; ???????else ?????????????return?0; }

文档评论(0)

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

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

1亿VIP精品文档

相关文档