求1000以内的水仙花数(求水仙花数c语言程序)

摘要 大家好,我是小典,我来为大家解答以上问题。求1000以内的水仙花数,求水仙花数c语言程序很多人还不知道,现在让我们一起来看看吧!1、思路...

大家好,我是小典,我来为大家解答以上问题。求1000以内的水仙花数,求水仙花数c语言程序很多人还不知道,现在让我们一起来看看吧!

1、思路没大问题,,不过,水仙花数好像是指一个n位数(n>=3)的各个位的n次方的和等于这个数,那这个数就是水仙花数。在百度百科上有介绍的,上面也有程序。

2、#includevoid main() { int n,s,sum=0,i; for(i=1;i<=10000;i++) /*所以你这里可以直接从i=100开始,,*/ { do { n=i; s=n%10; n=n/10; sum=sum+s*s*s; } while(n==0); /*do-while循环是指当while后面的表达式值为真的,就继续执行循环,所以你这个就是当n==0的时候,继续执行循环,而你的本意是指当n>0的时候执行循环,当n==0的时候循环结束,所以你这里应该改成:while(n>0); 还有,每次循环之后得给sum重新归零,不然它会从第一个开始一直累加上去的,记得我以前也忘记了重新归零,然后值得出了一个不是水仙花数的水仙花数,至于你这个sum=0;的语句是放在do-while循环的后面还是前面就由你自己了*/ if(i==sum); printf("%d",sum); } }

本文到此讲解完毕了,希望对大家有帮助。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。