习题:输出所有水仙花数

来源:互联网 发布:程序员常上的api网站 编辑:程序博客网 时间:2024/04/29 21:02

/*
要求:打印出所有的水仙花数:
所谓水仙花数——指的是一个三位数,其各位(注:非个位)数字的立方和等于该数!
*/
# include <stdio.h>

int main (void)
{
int i;
int a, b, c; //分别存储个、十、百位数;

for(i=100; i<=999; ++i)
{
a = i%10; //i对10取余求出个位数;
b = i/10%10; //i整除以10得出十位与百位数后,再对10取余得出十位数;
c = i/100; // i整除以100得出百位,因百位为单个数,对10取余是其本身,
// 故可以省略,也可以写做 c = i/100%10;

if(i == a*a*a+b*b*b+c*c*c)
printf("%d为水仙花数!\n", i);
}
return 0;
}

/*该程序在VC++6.0中的执行结果如下:

--------------------

153为水仙花数!
370为水仙花数!
371为水仙花数!
407为水仙花数!

--------------------

*/


0 0
原创粉丝点击