《水仙花数.doc》由会员分享,可在线阅读,更多相关《水仙花数.doc(3页珍藏版)》请在三一文库上搜索。
问题 水仙花数问题。统计所有水仙花数的数量,并打印。所谓水仙花数是指满足如下条件的三位数:个位数的立方、十位数的立方和百位数的立方和等于其自身。例如407为一水仙花数,。分析 找出水仙花数需要使用循环,从100循环到999。数据要求问题中的常量:无问题的输入:无。问题的输出:所有的水仙花数。设计初始算法1 从100循环到999。判断某个数是否是水仙花数。算法细化判断一个三位数是否为水仙花的关键是,求出其个位数、十位数和百位数。1) 百位数计算:a=i/100,求此数被100整除后的商。2) 十位数计算:b=i/10-a*10,求此数被100整除后的余数。3) 个位数计算:c=i%10,求此数被10整除后的余数。例如,123的各位数字的计算如下:1) 百位数: 123/100=1;2) 十位数: 123/10-1*10=2;3) 个位数: 123%10=3。接下来判断的结果是否等于i.流程图实现#include stdio.h#include math.hvoid main()unsigned int a,b,c, i,n;n=0;for(i=100;i1000;i+) a=i/100; b=i/10-a*10; c=i%10; if(a*a*a+b*b*b+c*c*c)=i) printf(%5d,i); n+;测试 输出所有的水仙花数,此处略。