Ⅰ c語言中,兩整數相除,求帶兩位小數的結果怎樣實現
把變數改成雙精度型的就可以了。
Ⅱ C語言兩數相除
8和5默認為整型,整型之間的運算結果是整型,所以8/5結果是整型1。整型1在內存中的形式是31個0,和最後一位是1。
用%d列印是對整型的列印,所以結果是1,沒有問題。
用%f列印是對浮點數的列印,它會去找相應的符號位、有效數字位、和冪次位,結果找到31個0和1個1,輸出結果就成了那個怪模怪樣的東東。
printf("%f\n",(float)(8/5)); 是對的。
Ⅲ c語言中,兩個整型數據相除,結果用浮點型變數儲存,為什麼輸出的結
C語言中,兩個整數相除,結果是也是整數,如果被除數不是除數的整數倍,那麼結果會直接舍棄小數,只保留整數部分,並且不會進行四捨五入,是直接舍掉小數,注意。
用你舉的例子:409/5,它的結果是81,不是81.8,如果要讓結果保留小數部分,那麼可以考慮給被除數或除數寫成帶小數的形式,比如寫成:409.0/5或409/5.0或者409.0/5.0
Ⅳ c語言 兩個函數除法怎麼弄
不是「必須"有一個是浮點型,只不過如果兩個數都是整形的話,會按照整形數的除法,只有商的部分。
直接相除就行,比如:有
doublef1();
doublef2();
intf3();
intf4();
就可寫:
doubled1=f1()/f2();
doubled2=f1()/f3();//等號右側表達式為浮點型;
intd3=f3()/f4();//等號右側表達式為int型;
doubled4=((double)f3())/f4();//將第一個函數的返回值轉換為double型