c語言的一道題目 為什麼會四捨五入?

2025-01-31 20:20:17 字數 3561 閱讀 9500

1樓:匿名使用者

printf("%f,%,",f,f,f);

表示用float浮點型資料輸出,第乙個是保留4位小數、輸出寬度為5,實際長度超過5就按實際位數輸出,小數位數超過4位部分被截去。

表示用float浮點型資料輸出,第乙個是保留3位小數、輸出寬度為3,實際長度超過3就按實際位數輸出,小數位數超過3位部分被截去。

2樓:網友

輸入格式"%f",表示以浮點型別輸出。

float:2^23 = 8388608,一共七位,這意味著最多能有7位有效數字,但絕對能保證的為6位,也即float的精度為6~7位有效數字;

其它為限定輸出格式,應該看得懂。

指輸出寬度為5,精度為4,實際長度超過5故應該按實際位數輸出,小數位數超過4位部分被截去。

指輸出寬度為3,精度為3,實際長度超過3故應該按實際位數輸出,小數位數超過3位部分被截去。

3樓:匿名使用者

printf()當中設定了輸出寬度和輸出的要求!!!

在c++中,怎樣表達四捨五入,,謝謝

4樓:網友

很簡單,比如 float a = ;

表達 a 四捨五入為 b 就可以這樣寫: int b = (int)(a+;

5樓:網友

round() 返回與引數最接近的整數值。

round( = 3

round ( = 2

round( = 3

round( = -2

round( = -1

floor() 返回不大於引數的最大整數。

floor( = 3

floor( = -2

floor(4) = 4

6樓:淦海瑤

整數的話,可以判斷來解決,小數的話,不好說,因為小數的儲存問題,不可能精確,所以不完全是四捨五入。

c語言中怎麼四捨五入

7樓:網友

利用取整運算的截斷特點實現。

比如:int a=;取整後賦值給a的是0,小數點後面的被截斷了。

如果要做整數的四捨五入,那麼可以:a=(int)(;取整後得到的與數學中四捨五入的結果一致,都是1;

如果要進行小數點後面的四捨五入,可以這樣計算:

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,float a=,b; int x; b=a*100; b+=; x=b; b=x/;

運算是這樣的:先將乘以100,得到,然後利用取值運算的截斷做四捨五入,取整後等於76,再除以100,得到結果:

8樓:高中生三

設 float x ; int y ; 則有y=(int)(x+>(int)x?(int)x+1:(int)x進行上述運算後,y 的值就是 x 四捨五入的結果。

利用取整運算的截斷特點實現。

比如:int a=;取整後賦值給a的是0,小數點後面的被截斷了。

如果要做整數的四捨五入,那麼可以:a=(int)(;取整後得到的與數學中四捨五入的結果一致,都是1;

如果要進行小數點後面的四捨五入,可以這樣計算:

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,float a=,b; int x; b=a*100; b+=; x=b; b=x/100;

運算是這樣的:先將乘以100,得到,然後利用取值運算的截斷做四捨五入,取整後等於76,再除以100,得到結果:

9樓:請叫我小強

如果是保留後面的兩位小數,就應該用取整,比如double a=;

a=(a*100+;

printf(「%2lf",a)

10樓:聽不清啊

如果只是要求輸出結果「四捨五入」,只要通過輸出格式符控制即可。

例如:double pi=;

printf("%.4lf",pi);

可得輸出為。

printf("%.2lf",pi);

可得輸出為。

如果是要把變數本身的值四捨五入到4位小數,則可以這樣處理:

double pi=;

pi=((int)(pi*10000+;

11樓:網友

有乙個round函式可以。

直接呼叫,#include""

#include""

void main()

12樓:網友

round(x)

引數時double型,返回小數對整數部分的四捨五入值。

比如 round(; 返回4

13樓:網友

比如小數為 f

float)((int)(f*100+

首先為了保留兩位,乘以100,小數點向前兩位, 然後+取整保證是四捨五入 再轉成 float形式或double形式 除以100 就ok了。

14樓:毛毛

利用取整運算的截斷特點實現。

15樓:網友

給你個簡單的餓例子。

四捨五入小數點後一位。

float f=;

f=(int)(f*10+5)/;

你分析看看就知道了。

#include

main()

16樓:清雅之蘭向日葵

使用乙個if語句,讓它的值減去它的整數形式然後與比較。

17樓:菜鳥公升級中

int a =

printf("%.1f",a + //四捨五入到十分位printf("%.2f",a + //四捨五入到百分位後面的方法一樣。

18樓:網友

那你這個是什麼意思呢。。不許用「%.1f %.2f。。。

我的想法是,十分位,你就把你的數*10,然後%10的到的餘數就是這位。。。百分位類似。。

後續怎麼輸出,你就自己看著辦吧。。反正小數點你是肯定要自己輸出了 :)

c語言中的四捨五入怎麼做?

19樓:網友

利用取整運算的截斷特點實現。

比如:int a=;取整後賦值給a的是0,小數點後面的被截斷了。

如果要做整數的四捨五入,那麼可以:a=(int)(;取整後得到的與數學中四捨五入的結果一致,都是1;

如果要進行小數點後面的四捨五入,可以這樣計算:

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,float a=,b; int x; b=a*100; b+=; x=b; b=x/100;

運算是這樣的:先將乘以100,得到,然後利用取值運算的截斷做四捨五入,取整後等於76,再除以100,得到結果:

c語言四捨五入問題。

20樓:好嘞啊啊啊啊

選b吧假設n=

把它賦值給m 會把小數點截掉。

變成123n= 123/100 =

把n變成的話。

就變成了。

一道c語言題目,一道C語言題目

就是個斐波那契數的列遞迴解法啊,k項 k 1項與k 2項的和。你可以函式慢慢算。fib 0 0,fib 1 1,fib 1 1,fib 3 fib 1 fib 2 0,1,1,2,3,5,8,13.fib 7 fib 6 fib 5 fib 5 fib 4 fib 4 fib 3 fib 4 fib...

一道C語言題,為什麼,一道C語言題,為什麼輸出的結果為負數?

答案a是正確的,因為這個輸入語句,要求先輸入一個浮點數,然後一個逗號再接著是一個整數,所以應當選擇答案a 一道c語言題,為什麼輸出的結果為負數?一道c語言題,為什麼是1呢?逗號表示式是由左向右算,執行y x後,x和y都是6,的優先順序比 要高,所以x y 6相當於x y 6 因為y已經是6,所以y ...

求解釋一道C語言檔案題目,一道c語言填空題,程式沒看懂 求詳細解釋!

1 輸出的結果為 123456 2 分析 void main fp fopen d3.dat wb fwrite a,sizeof int 3,fp 把陣列a的前三個元素寫入檔案 fseek fp,sizeof int 3,seek set 把檔案指標從檔案頭開始向後移動12位元組 fread a,...