1樓:朝朝戰士邦
c是double,那麼最好用 %lf 來控制輸出...
你用了 %0.2 這是表示 保留兩位小數....
但是你之前是 int / int ,那麼系統會將結果 也轉換為int (int /double 或者 doube/int 或者其他則不會)....也就是說 不管 a/b 在我們自己計算出來是什麼結果,給c的只是那個數的整數部分,然後轉換為double賦值滴..
比如: a = 3, b=2;
a/b 在我們看來是 1.5;
但是 程式中會是 1;
然後賦值給c 是 1.0;
輸出時保留兩位小數: 1.00
2樓:
是因為這句話c=a/b;
a與b都是整型,他們相除的結果也是整型值,會自動捨去小數部分如果要得到小數部分,需要型別轉換,可以改成下面的一種形式:
c=(double)(a)/b;//直接型別轉換或者c=a*1.0/b;
3樓:
把c=a/b;寫成c=a*1.0/b;或c=((double)a)/b;就行了……因為a和b都是int型,所以a/b中的/就是取整除而不是浮點除;而/兩邊若至少有一個是浮點數時,/就自動提升為浮點除了。
c語言實數除法怎樣保留小數部分
4樓:丿
首先c語言中沒有「實數」的定義,但是可以通過定義變數型別和強制型別轉換來保留小數部分。
1、定義型別變數,**如下:
#include
int main()
double a = 7;
int b = 2;
double c = a / b;
printf("c = %f\n", c);
return 0;
2、強制型別轉換,**如下:
#include
int main()
int a1 = 9;
int b1 = 4;
double c1 = (double) a1 / b1;
printf("c1 = %f\n", c1);
return 0;
擴充套件資料:
在c中主要資料型別分為4種,分別為:整型(int -- 佔2個位元組,輸出用%d),字元型(char -- 1個位元組,輸出用%c),單精度浮點型(float -- 2個位元組,輸出用%f),雙精度浮點型(double -- 4個位元組,輸出用%lf)。
printf(),呼叫標頭檔案中的printf函式,用於輸出函式的值。當想要輸出某個變數時,需要先告訴他輸出格式。
5樓:及時澍雨
在c語言中,
3/2=1
是取整運算
要保留小數
需要(3*1.0)/2=1.5
6樓:
強制型別轉換
a,b為int型
c=(float)a/b;
printf("%.2f",c);
c就為float型,比如5/3=1.66
想要幾位就改成%.nf.
希望能幫到你。
7樓:匿名使用者
y = 1.0/5.0
因為如果像你那樣寫的話先作int型數的運算,這時小數部分就丟了,然後轉換為double型的,加小數點後,預設為double型數的運算了,當然小數就不會丟啦
c語言如何計算除法,保留兩位小數。下邊程式的結果為什麼是 0.00
8樓:幻翼高達
需要準備的材料分別有:電腦、c語言編譯器。
1、首先,開啟c語言編譯器,新建一個初始.cpp檔案,例如:test.cpp。
2、在test.cpp檔案中,調整c語言**:double c;c=1.0 * a/b;。
3、編譯器執行test.cpp檔案,此時成功將除法保留2位整數輸出。
9樓:匿名使用者
c語言做除法,只需要使用標準c的語法即可,各個作業系統均為提供浮點運算的,一般cpu上也都會有單獨的浮點運算單元(為了提高效率),顯示0.00只不過是列印函式的格式化輸出而已(你使用了.2f,說明打兩位浮點數)
10樓:匿名使用者
你的c要定義成float 才行還有就是這樣 c = 1.0*a/b
11樓:匿名使用者
printf("c=%.2d\n",c);
12樓:
把c定義成float或者double型就對了
13樓:匿名使用者
整型除法中,a/b,如果a
14樓:尋風
你定義的是整形,c=a/b;結果是c=0;
15樓:無情有義
把int a,b,c換成float a,b,c
16樓:匿名使用者
1, int a,b,c; 改為 float a,b,c;
在c語言計算出的結果中怎麼保留小數點後兩位
17樓:風若遠去何人留
可以在輸出的時候限制小數點位數。
當輸出單精度浮點型float變數f時,可以用printf("%.2f", f);
來使輸出結果保留兩位有效數字。其中.2就是代表保留兩位,如果要保留三位就是%.3f。用%.0f就是隻輸出整數。
如果是雙精度浮點數double,就需要用%.2lf來使輸出結果保留2位小數。
18樓:倒黴熊
比如float a = 23.456789;
printf("%.2f",a); //輸出為23.45
在c語言中除法運算為什麼沒有小數部分?
19樓:吉祥二進位制
1、在c語言中附法是整除運算,比如a/b,表示a中有幾個b。
2、示例:
3/2=1 //這是取整運算,即3中有1個2。
3、要保留小數,需要將結果表示成浮點數型別。
示例:(3*1.0)/2=1.5
或者 double result = 3 / 2 ;
20樓:大爺有好有壞
從基本的數字邏輯電路的角度來理解:
例如:5/2 ,5二進位制**為0101,除以2只需要將二進位制數右移一位,得0010。小數部分被捨去
21樓:匿名使用者
/是取整 整數除法的時候 只取整數部分,當除數或者被除數有一個為float型別時 才有小數部分
把除數 或 被除數 改為一個小數 就行了。。。
22樓:手機使用者
整數除整數=整數,如果你想得到浮點數可以這樣 ((5*x+1)*1.0)/(x*x+1); //浮點數除以整數得到浮點數
23樓:匿名使用者
int x,float y都變成double x
int x就會捨去小數
其實double的速度要比float快的。學過彙編的基本都知道
24樓:
/是取整 整數除法的時候 只取整數部分
25樓:雲夢語
宣告int i -》 float i
/是取整 整數除法的時候 只取整數部分,當除數或者被除數有一個為float型別時 才有小數部分
26樓:匿名使用者
編寫c語言的專家規定的.
27樓:竇文蓬
把x做強制型別轉換(double)x.
28樓:
除法運算子" / ",如果是兩個整數相除結果為整數如果需要保留小數時 必須將其中一個除數轉換為浮點數#include
#include
main()
或者#include
#include
main()
c語言題目 除法保留兩位小數
29樓:匿名使用者
printf("%。2d",h);
這樣格式就是2為有效數字
30樓:匿名使用者
#include
void main()
注:%f:不指定寬度,整數部分全部輸出並輸出6位小數。 %m.nf:輸出共佔m列,其中有n位小數,如數值寬度小於m左端補空格。
%-m.nf:輸出共佔n列,其中有n位小數,如數值寬度小於m右端補空格。
為什麼喜歡人那麼難?大神們幫幫忙
是的!喜歡不難!愛就難!你要弄清是喜歡還是愛!愛不會很難也不會使人煩惱,只是自己給自己增加壓力,自尋煩惱。愛一個人,應該是一件很快樂的事情。我們都知道,愛代表著一種責任,愛是一種無條件的付出和犧牲,愛是永無止境永不失落的,愛不是不要回報,而愛的回報就是對方的永遠快樂和幸福。而對方的快樂就是你的快樂,...
為什麼星星比月亮多?大神們幫幫忙
因為人類只有一個近鄰,那就是月亮,你所說的星星其實就是宇宙中的恆星,它們是無數的。與地球沒有關係。星星是行星,宇宙中有不計奇數個!而月亮是小行星,因受地球引力所以圍繞在地球邊緣!閃爍的星星 是每個人的願望 因為月球只有一個,而星星 行星 就不知有多少了 如果月亮多的話,晚上就不黑了 星星 嫁給了 月...
得了溼診吃什麼藥效果快且好?大神們幫幫忙
有點艾葉煮點水洗洗就可以,平時在吃些提高免疫力的藥 溼疹要怎麼樣 吃什麼藥好呢?大神們幫幫忙 過敏吃什麼藥最好哦?大神們幫幫忙 你以前是不是用化妝品的 而且品牌很多 可能是你體質過敏的 具體你是什麼情況不瞭解也不好說求採納 xuesu 過敏效果快,而且不 吃藥對身體內部傷害也是很大的!感冒吃什麼藥好...