#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%100)/10 ;? ? ? ? //獲取三位數字num個位上的數字? ? ? ? sd = num%10 ;? ? ? ? //水仙花數的條件是什么?? ? ? ? if(num==hd*hd*hd+td*td*td+sd*sd*sd) ;? ? ? ? {? ? ? ? ? ? printf("水仙花數字:%d\n", num); ? ?? ? ? ? }? ? }? ? return 0; ? ?}?
1 回答
已采納

火丁啊
TA貢獻14條經驗 獲得超6個贊
?if(num==hd*hd*hd+td*td*td+sd*sd*sd) ;
這行if后面是不可以分號的,如果分號了就相當于沒有判斷為true后執行的代碼塊,所以后面的printf都在一直執行。
- 1 回答
- 1 關注
- 1103 瀏覽
添加回答
舉報
0/150
提交
取消