如何用c語言將實數內部精度四捨五入到小數點後第二位

時間 2021-08-30 17:08:47

1樓:自我程式設計

#include

int p10(int m);//求10的次方double rounding(double n,int w);//小數四捨五入,引數w:精確到第幾數

int main()

return 0;

}double rounding(double n,int w)//小數四捨五入,引數w:精確到第幾數

int p10(int m)//求10的次方{int i,sum=1;

for(i=0;i

2樓:匿名使用者

利用取整截斷小數部分的特性來實現:

float x=3.1415,y; int a;

y=x*100+0.5; a=y; y=a; y/=100; //至此,y中儲存的數為x的保留2位小數的結果

3樓:匿名使用者

正數 x 四捨五入的技巧:

x --> (int)(x+0.5)

當 x=n+r, 0<=r<1,

若 0<=r<0.5, 則r+0.5<1, (int)(x+0.5)=(int)(n+r+0.5)=n

若 0.5<=r<1, 則1<= r+0.5, (int)(x+0.5)=(int)(n+r+0.5)=n+1

c語言中怎樣輸入一個雙精度數,對小數點後第2位進行四捨五入,即保留一位小數,輸出四捨五入的結果。

4樓:windy笨笨狗

#include

int main(void)

5樓:匿名使用者

#include

int main()

c語言。從鍵盤讀入一個實數,對其進行四捨五入處理,要求精確到到小數點後兩位。

6樓:瑞春楓

對12.345來說,先乘以1000,得到12345,賦值給整型,12345%10得到個位數,判斷這個個位數若大於等於5則把12345加10-個位數,若小於5,則12345減去個位數,然後把最終的數先除以10,再除以100.0。

7樓:匿名使用者

可以肯定的告訴你,你找的答案肯定不對。

不信你輸2.225看一下,結果還是2.22原程式一直在對y處理,結果最後都沒有返給x。肯定不對。

為什麼可能會出現正確的結果,這個就很複雜了,要從浮點的儲存說起了。

我現在也還不是很瞭解。

浮點數在計算(特別是和整型混合計算時)、輸入和輸出的時候都可能有精度的丟失。

具體的我也不是很懂,你可以自行去研究一下。

比較完美的程式應該要用double型別,提高精度。

就算有返加給x,用float型別還是會出錯。很難理解。

#include

void main()

x=(double) y/1000;

printf("該實數,四捨五入保留兩位小後是%.2lf\n",x);}

8樓:匿名使用者

#includ

void main()

/*應該這樣就ok了。

9樓:

可以給你介紹實現方法。當然,如果你需求**,也可以寫給你。

c語言如何實現輸出浮點數小數點兩位(四捨五入法),但若小數點最後位為零則捨去??

10樓:匿名使用者

可以通過sprintf函式實現數字四捨五入轉字串,通過處理字串,實現所需功能,具體**,

#include

int main(int argc, char *argv)float 為單精度浮點型資料,在turbo c中單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4e-38~3.4e+38,只能提供7位有效數字。

建議輸入採用字串形式,這樣統計不會出偏差,使用數字時,使用double atof( const char *str )函式轉換;如果使用數字,系統會自動補0的,與實際期望不符。

11樓:兔子和小強

要對某個浮點數比如x保留到小數點後兩位,可以將x乘以100,變成對這個數進行四捨五入到個位。

double f(double x)

12樓:匿名使用者

#include

mian()

13樓:xf1號

把浮點數作為字串輸入,再比較最後一位是否為零,若為零則看倒數第二位;否則看是否大於等於5,若是則將倒數第二位加一併判斷,否則直接捨去最後一位。最後輸出修改後的字串。

14樓:

%.nf(%.nlf)

看你要輸出多少位小數,n就為多少

用鍵盤輸入一個 數字,對他的小數點後第二位四捨五入,如何用c語言程式設計。要解題分析。 20

15樓:慕容琦萱

#include

void main()

這個比較方便,可以bai試下。

如果輸入數du

字zhi3.4567的時候,本程式可dao以輸出3.46第一個回答者的程式在版會輸出 3

第二個權回答者的程式會輸出3.5

第三個回答者的程式也是輸出3.5

而且本程式在輸入3.2時會輸出3.20,所有的數都會保留兩位小數,用 a=%.2f 格式很方便。

本人親自驗證哦。

16樓:匿名使用者

#include

int main(void)

17樓:匿名使用者

#include

int main()

18樓:匿名使用者

#include

main()

中國抄物聯網校企聯盟

用c語言怎麼實現浮點數的四捨五入,保留兩位小數點

19樓:匿名使用者

c語言怎麼實現浮點數的四捨五入,保留兩位小數的設計過程為:

定義浮點點數回變數答df,輸入

浮點數浮點數df擴大100倍

浮點數df增加0.5

利用floor()函式得到最接近df數,但不大於df的整數(完成四捨五入)。不能用int強制轉換,否則,資料超過int範圍就會出現錯誤。

浮點數df縮小100倍得到有兩位小數的浮點數按%.2f輸出結果。

參考**:

#include

#include

void main()

20樓:不知道的現在

加0.5強制轉int。這是取到整數的方法。

其他位數道理差不多。2位的話你先乘100,加0.5強制轉int,然後除回100。

注意型別轉換。除100要轉double。

21樓:

float a=10.123;

a=((int)((a*100+5)/100))/100.0;//這個值應該就是保留兩位小數點的值吧

22樓:小_寶

printf("%4.2f",a);類似的,前面一個4是字的位數,後面一個2是兩位小數

c語言中怎樣輸入一個雙精度數,對小數點後第進行四捨五入,不保留小數,輸出四捨五入的結果 是不是pr

23樓:淡若親風

printf("%d",(int)(a+0.5));

C語言。從鍵盤讀入實數,對其進行四捨五入處理,要求精確到到小數點後兩位

瑞春楓 對12.345來說,先乘以1000,得到12345,賦值給整型,12345 10得到個位數,判斷這個個位數若大於等於5則把12345加10 個位數,若小於5,則12345減去個位數,然後把最終的數先除以10,再除以100.0。 可以肯定的告訴你,你找的答案肯定不對。不信你輸2.225看一下,...

如何用c語言將檔案放到二維陣列中

fopen函式開啟需要讀取的文字,獲取該檔案的檔案描述符使用fscan 函式對檔案進行讀取。放到二維陣列其實就是讀取相應格式的資料,然後對應二維陣列的每個位置例如 include stdio.h define m 300 define n 50 void main file fp if fp fop...

如何用c語言將句子中的每個單詞倒序,如I evol uoy變為I love you,注意不用連結串列

include include void main 輸出 printf s strrev str 可以由鍵盤輸入.char str 20 cin str cout strrev str 或者char str 20 scanf s str printf s strrev str 注意不要輸入過多字元....