請問水仙花問題如何解決
#include <stdio.h>
int main()
{
//定義三位數num,個位數sd,十位數td,百位數hd
int num, sd, td, hd;
//循環所有三位數
for( ? ; ? ; ? )
{
//獲取三位數字num百位上的數字
hd = ? ;
//獲取三位數字num十位上的數字
td = ? ;
//獲取三位數字num個位上的數字
sd = ? ;
//水仙花數的條件是什么?
if( ?? )
{
printf("水仙花數字:%d\n", num);
}
}
return 0;
}
在這個問題上想了很久,卻怎么也想不通,求大神指點
2019-04-08
#include <stdio.h>
int main()
{
??? //定義三位數num,個位數sd,十位數td,百位數hd
??? int num, sd, td, hd;
??? //循環所有三位數
??? for( num=100; num<1000 ; num++ )
??? {
??????? //獲取三位數字num百位上的數字
??????? hd =? num/100%10;???????
??????? //獲取三位數字num十位上的數字
??????? td =? num/10%10;???????
??????? //獲取三位數字num個位上的數字
??????? sd =?? num%10;???????
??????? //水仙花數的條件是什么?
??????? if(num==hd*hd*hd+td*td*td+sd*sd*sd)
??????? {
??????????? printf("水仙花數字:%d\n", num);???
??????? }
??? }
??? return 0;???
}
2019-02-17
所有的三位數100~999
即for(i=100,i<1000,i++)//別忘了定義i;
百位上的數字hd=i%100;//這個三位數除以一百取余數,就是百位上的數字;
同理
十位上的數字為td=i%100%10//以百位的余數除以十取余,就是十位上的數字;
個位上的數字為sd=i%10;