#include <stdio.h>
int main()
{
int i;
for(i=100;i<=999;i++){
int g=i%10;
int s=i/10%10;
int b=i/100;
int sum=g*g*g+s*s*s+b*b*b;
if(sum==i){
printf("%d是水仙花数!\n",i);
}
}
return 0;
}
其实不用定义Sum,直接在If语句中比对立方和与原数值是否相等就可以了。
只是我一开始计算十位的时候不准确,导致输出结果不准确。
后来一并输出了个位、十位、百位及立方和,才发现问题出现在十位的计算上。。