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;
}