#include <stdio.h>
int main()
{
//定义三位数num,个位数sd,十位数td,百位数hd
int num, sd, td, hd;
//循环所有三位数
for( num=100 ; num<1000 ; num++ )
{
//获取三位数字num百位上的数字
hd = num/100 ;
//获取三位数字num十位上的数字
td = num/10-10*hd ;
//获取三位数字num个位上的数字
sd = num-hd*10-100*sd ;
//水仙花数的条件是什么?
if(num == sd*sd*sd+td*td*td+hd*hd*hd)
{
printf("水仙花数字:%d\n", num);
}
}
return 0;
}
hd = num/100; //举例:hd = 125/100;即百位是1
td = (num - hd * 100)/10; //td = (125 - 1*100)/10=2;即十位是2
sd = num - hd * 100 - td * 10; //sd=125-1*100-2*10=5;即个位是5