/**
 * 【程序3】
 * 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
 *       本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
 * 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
 * 
 * 思路:分解多位数--->使用求余:%;除运算:/
 * 如:153 = 1*1*1 + 5*5*5 + 3*3*3
 */

#include<stdio.h>
void main()
{
   int n;
   int ge, shi, bai, x;
   printf("输出100-999所有水仙花数:\n");
   for (n=100; n<1000; n++){
       ge = n % 10;
       shi = n / 10 %10;
       bai = n / 100;
       if (n == ge*ge*ge + shi*shi*shi + bai*bai*bai)
       {
           printf("%d\n", n);
       }
   }
}