题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
#include <stdio.h>
#include <math.h>
int main()
{
int n;
for (n = 100; n < 1000; n++) {
int n1 = n / 100; //百位
int n2 = (n - n1 * 100) / 10; //十位
int n3 = n % 10; //个位
if (n == n1 * n1 * n1 + n2 * n2 * n2 + n3 * n3 * n3) {
printf("%d\t", n);
}
}
return 0;
}