#include<stdio.h>
int main()
{
int sum,g,s,b;
for(b=1;b<10;b++)
for(s=0;s<10;s++)
for(g=0;g<10;g++)
sum=b*100+s*10+g;
if(sum==pow(b,3)+pow(s,3)+pow(g,3))
printf("%d是水仙花数\n",sum);
}
pow得出的值为double型,double型是有误差的,我的编译器运行你的代码是没问题的。