c语言中循环的三位水仙花数
题目:
是说有这样的一些三位数,例如:153它能够由111+555+333之和组成。这样的三位数我们叫作水仙花数。
现在要求我们找出这样的所有的水仙花数。即一个三位数xyz=xxx+yyy+zzz。要求:每一个水仙花数都需要站一行。
思路:
首先需要输入一个三位数,然后需要进行验证是否符合水仙花数的条件。那么就需要定义四个未知量来完成。其中一个数字为表示那个三位数,另外的三个则表示每一位数。参考代码如下:
int a,b,c,d;
for(d=100;d<1000;d++)
{
a=d/100;//表示百位。
b=d/10%10//表示十位。
c=d%10//表示个位。
}
然后我们就可以进行相应的验证即是否满足水仙花数的定义。如果满足则进行相应的打印处理,并且需要进行一次换行(题目要求)参考代码如下:
if(d=a*a*a+b*b*b+c*c*c)
{
printf("%d\n",d);
}
综上所述有如下参考代码:
#include <stdio.h>
int main()
{
int a,b,c,d;
for(d=100;d<1000;d++)
{
a=d/100;
b=d/10%10;
c=d%10;
if(d==a*a*a+b*b*b+c*c*c)
{
printf("水仙花数为:%d\n",d);
}
}
return 0;
}