水仙花数是指三位数中,其各位数字立方和等于该数。
代码入下
#include<stdio.h>
int main()
{
int a, b, c, d;
printf("所有的水仙花数:\n");
for (a = 100; a < 1000; a++)
{
b = a / 100;
c = (a % 100) / 10;
d = a % 10;
if (a == b * b * b + c * c * c + d * d * d)
printf("%d\n", a);
}
return 0;
}
想要解出这个问题,首先要表达出三位数的百位,十位和个位。利用for循环取出100-1000的值,通过取余和取模可以得到满足条件的情况。然后通过if判断一下就可以了。
运行结果如下: