题主代码修改如下,供参考:
#include <stdio.h>
#include<math.h>
int main()
{
int i, ge, shi, bai, a;
for (i = 100; i < 1000; i++)
{
ge = i % 10;
shi = (i/10) % 10;
bai = i / 100;
a = pow(ge, 3) + pow(shi, 3) + pow(bai, 3);
if (a == i)
printf("所有水仙花数为%d\n", i);
}
return 0;
}
if的代码呢
printf("所有的水仙花数是:");这一句应该放在for语句的前面
而且,你的if语句并没有用大括号括起来,不规范
另外,你的if语句没有判断a和i是否相等
而且,题目说的是三位数,你从i=100开始就行了