实例六:求1000以内的 水仙花数(循环结构的简单应用)
问题描述:
打印出所有的水仙花数。
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数: 一个三位数,各位数字立方和应该等于该数本身。例如:153 = 1^3 + 5^3 + 3^3.
#include <stdio.h>
int main(void)
{
int a1, a10, a100, i;
for(i = 100;i <= 999;i++)
{
a1 = i % 10;
a10 = i % 100 / 10;
a100 = i / 100;
if(i == a1*a1*a1 + a10*a10*a10 + a100*a100*a100)
printf("%-3d\n",i);
}
return 0;
}
运行结果:
心得:
水仙花数的计算,关键在于取余数,也就是取到各个位数上的数字,之后再用一个for循环也就是再加上一个if判断再输出。