代码:
/*
C语言第十三例
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*/
#include <stdio.h>
void main(void)
{
int a,b,c,d;
for(a=100;a<1000;a++)
{
b=a/100; //假如a=123,得百位为1
c=a/10%10; //假如a=123,得十位为2
d=a%10; //假如a=123,得个位为3
if((b*b*b+c*c*c+d*d*d)==a) //判断是否满足条件
{
printf("%d\n",a);
}
}
}
运行结果: