用程序找出“水仙花数”
编程题讲解
1、输出所有“水仙花数”。所谓“水仙花数”是指一下3位数,其各位数立方和等于该数本身。例如:153是水仙花数,因为153=13+53+33 。1+125+27
题目分析:
1、99<i<1000
999 >= i>=100
2、每一个3位数都要做判断,所以 ,要用循环
For while do while
2、这个3位数上,每一位上的数字怎么取,a表示百位,b表示十位,c表示个位
a=153/100 如果两个数都是整数,那么它就取商,只要其中一个数是实数,那么就要除尽
b=153/10%10 b=(i-a*100)/10
c=i%10
4. 如果是水仙花数就输出,不是,就不输出,继续循环。
If i==a*a*a+b*b*b+c*c*c
Printf(i )
完整程序:
#include <stdio.h>
#include <stdlib.h>
int main()
{ int i=100,a,b,c;
printf("水仙花数包括:\n" );
for(;i>=100&&i<1000;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
return 0;
}