亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

跪求同學 大神解答,我實在是找不出來哪錯了

#include <stdio.h>

int main()

{

? ? //定義三位數num,個位數sd,十位數td,百位數hd

? ? int num, sd, td, hd;

? ? //循環所有三位數

? ? for(num=100;num<=999;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; ? ?

}

為什么最后的答案是100 101 102 103……999,不是水仙花數字。。。。到底哪錯了額?

正在回答

2 回答

哎!我就不多說了,看看你的代碼if()后面加一個分號導致你的printf不是if里面的語句而是for語句所以他會全部輸出,去交if后面的分號試試!

0 回復 有任何疑惑可以回復我~
#1

卐燦爛de借囗卍 提問者

非常感謝!
2015-12-08 回復 有任何疑惑可以回復我~

td =num%100/10 ? ? ? ? ;

這段代碼錯了,因為"%"的優先級小于“/”

正確的寫法是td =(num%100)/10 ? ? ? ? ;

0 回復 有任何疑惑可以回復我~
#1

卐燦爛de借囗卍 提問者

是我多加了一個分號.... 不過也 謝謝你
2015-12-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

跪求同學 大神解答,我實在是找不出來哪錯了

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號