這個哪里錯了?
#include <stdio.h>
int main()
{
? ? //定義三位數num,個位數sd,十位數td,百位數hd
? ? int num, sd, td, hd;
? ? //循環所有三位數
? ? for( ? num=100 ?; ?num<1000 ? ; ? ?num++ ?)
? ? {
? ? ? ? //獲取三位數字num百位上的數字
? ? ? ? hd =num/100 ? ? ? ? ;
? ? ? ? //獲取三位數字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; ? ?
}
為什么結果只能出來407,顯示錯誤:沒有水仙花數153,
2016-01-05
2015-12-24
你的十位數的獲取是錯誤的
2015-12-24
#include <stdio.h>
int main()
{
? ? //定義三位數num,個位數sd,十位數td,百位數hd
? ? int num, sd, td, hd;
? ? //循環所有三位數
? ? for( ? num=150 ?; ?num<1000 ? ; ? ?num++ ?)
? ? {
? ? ? ? //獲取三位數字num百位上的數字
? ? ? ? hd =num/100 ? ? ? ? ;
? ? ? ? //獲取三位數字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; ? ?
}