c语言编程调用函数求水仙花数 水仙花数是指一个 n 位数(n≥3),每个位上的数字的 n 次幂之和等于它本身。(例如:1^3+5^3+3^3=153)。所以可以依次通过模除求得每个位上的值,然后做n次幂后相加,再判断是否与本身相等,从而得到是否为水仙花数的结论。以求所有三位数水仙花数为例,代码如下,其它相似。includeincludeincludeint cube(const int n){/计算立方。如果是四位则是四次方,以此类推。return n*n*n;}int isNarcissistic(const int n){/计算是否为水仙花数。int hundreds=n/100;百位int tens=n/10-hundreds*10;十位int ones=n%10;个位return cube(hundreds)+cube(tens)+cube(ones)=n;如果相等,则为水仙花数。}int main(void){int i;for(i=100;i;i){/对所有三位数判断。if(isNarcissistic(i))/如果是则输出。printf(\"%d\\n\",i);}return 0;}
c语言编程调用函数求水仙花数 水仙花数是指一个 n 位数(n≥3),每个位上的数字的 n 次幂之和等于它本身。(例如:1^3+5^3+3^3=153)。所以可以依次通过模除求得每个位上的值,然后做n次幂后相加,再判断。
c语言 调用函数求水仙花数,我这个那里错了,输出不了? if(sum=number)而不是if(sum=number1),你的number1最后就是0了,当然不可能与sum相等,另外你即然已经用了pow,那is方法也可以直接写成return pow(number%10,3)+pow(number/10%10,3)+pow(number/100,3)=number;