c語言程式設計如何四捨五入,c語言怎麼實現四捨五入?

2022-02-25 05:47:34 字數 5403 閱讀 6921

1樓:聽不清啊

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

例如:double pi=3.1415926;

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

可得輸出為3.1416。

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

可得輸出為3.14。

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

double pi=3.1415926;

pi=((int)(pi*10000+0.5))/10000.0;

2樓:菜鳥公升級中

int a = 100.453627

printf("%.1f",a + 0.05); //四捨五入到十分位

printf("%.2f",a + 0.005); //四捨五入到百分位

後面的方法一樣

3樓:匿名使用者

給你個簡單的餓例子

四捨五入小數點後一位

float f=1.54536;

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

你分析看看就知道了

#include

main()

4樓:匿名使用者

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

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

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

5樓:富畫終琛

設floatx;

inty;則有

y=(int)(x+0.5)>(int)x?(int)x+1:(int)x

進行上述運算後,y

的值就是

x四捨五入的結果。

6樓:

你用itoa函式將其變成字串 再一一判斷吧 哈哈 o(∩_∩)o...哈哈

c語言怎麼實現四捨五入?

7樓:匿名使用者

有必要熟悉下 c語言 運算優先順序

圓括號》 型別轉換 > 乘除和取模 > 加減即() > (int) > * / > +所以f=(int)(f*10+5)/10.0=(int)(1.54536*10+5)/10.

0=(int)(15.4536+5)/10.0=(int)(20.

4536)/10.0 //int 取整,就是捨去全部小數

=20/10.0

=2.000000 //預設 6位小數其實,本人覺得,用以下的就可以實現了

f=(int)(f+0.5) // +0.5的意義就是讓 小數》=0.5的變成 +1,而<0.5的 不到1,將被捨去

8樓:

設 float x ; int y ; 則有

y=(int)(x+0.5)>(int)x?(int)x+1:(int)x

進行上述運算後,y 的值就是 x 四捨五入的結果。

9樓:匿名使用者

可以使用if()語句呀

c語言中如何進行四捨五入,求詳細解釋!!謝謝!

10樓:

方法一:

#include

int main()

double d1,d2,d3;

d1=-3.1415926;

d2=(int)(d1*10+0.5)*0.1;

printf("d1=%f,保留一位小數的結果為:%.1f\n",d1,d2);

d3=(int)(d1*1000+0.5)*0.001;

printf("d1=%f,保留三位小數的結果為:%.3f",d1,d3);

總結四捨五入保留n為小數

(int)(x*10的n次方+0.5)*10的負n次方;

其次這個方法對負數無效;如果非要用可以先取正數部分算,最後加上負號方法二:

使用round()函式。

#include"stdio.h"

#include"math.h"

void main()

float x;

scanf("%f",&x);

int y = round(x);

printf("%d",y);

11樓:

這個很簡單的。

比如有乙個浮點數float a,要四捨五入只要這樣:

int ia = (int)(a + 0.5)。只要a的小數》=0.5,a+0.5的整數字就會進一,然後取整;

小於0.5呢,取整還是原數。

簡單吧。

c語言中怎麼四捨五入

12樓:匿名使用者

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

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

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

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

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,0.756

float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100.0;

運算是這樣的:先將0.756乘以100,得到75.

6,然後利用取值運算的截斷做四捨五入,75.6+0.5=76.

1取整後等於76,再除以100,得到結果:0.76

13樓:高中生三

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

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

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

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

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

要保留小數點後面兩位的小數,即在小數點後面兩位上做四捨五入,0.756

float a=0.756,b; int x; b=a*100; b+=0.5; x=b; b=x/100;

運算是這樣的:先將0.756乘以100,得到75.

6,然後利用取值運算的截斷做四捨五入,75.6+0.5=76.

1取整後等於76,再除以100,得到結果:0.76

14樓:請叫我小強

如果是保留後面的兩位小數,就應該用取整,

比如0.756

double a=0.756;

a=(a*100+0.5)/100.0;

printf(「%.2lf",a)

15樓:聽不清啊

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

例如:double pi=3.1415926;

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

可得輸出為3.1416。

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

可得輸出為3.14。

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

double pi=3.1415926;

pi=((int)(pi*10000+0.5))/10000.0;

16樓:匿名使用者

有乙個round函式可以

直接呼叫,

#include"stdio.h"

#include"math.h"

void main()

17樓:匿名使用者

將整數+5,再整除10,再乘以10,就可以了參考**:

#include

int main()

18樓:匿名使用者

round(x)

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

比如 round(3.623); 返回4

19樓:量子高巨集亮

y = (int)(x+0.5);

20樓:匿名使用者

int main()

21樓:匿名使用者

比如小數為 f

(float)((int)(f*100+0.5))/100.0

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

22樓:毛毛

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

23樓:匿名使用者

給你個簡單的餓例子

四捨五入小數點後一位

float f=1.54536;

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

你分析看看就知道了

#include

main()

24樓:匿名使用者

中間函式這樣填:

float x;

int a;

cin>>x;

if(x>=0)

a=x+0.5;

else

a=x-0.5;

25樓:清雅之蘭向日葵

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

26樓:菜鳥公升級中

int a = 100.453627

printf("%.1f",a + 0.05); //四捨五入到十分位

printf("%.2f",a + 0.005); //四捨五入到百分位

後面的方法一樣

27樓:匿名使用者

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

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

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

28樓:我在天堂d你

最後一步錯啦,要b=(float)x/100

c語言簡單的浮點數如何實現四捨五入

29樓:匿名使用者

c語言不會自動實現 四捨五入的,要麼完全捨棄小數,要麼保留,而且小數會有誤差~~~,除非你自己變成個函式,

30樓:匿名使用者

可以寫個函式

int sheru(double i)

c語言程式設計該如何入門,C語言程式設計該如何入門?

一 工欲善其事,必先利其器 這裡介紹幾個學習c語言必備的裝置和書籍 a 開發環境 例如turbo c 2.0,這個曾經佔據了dos時代開發程式的大半個江山。但是現在windows時代,用turbo c有感覺不方面,編輯程式起來很吃力,並且拖放,更沒有函式變數自動感應功能,查詢參考資料也不方便。建議使...

用c語言程式設計怎麼求數的根號,用C語言程式設計怎麼求乙個數的根號

include include int main 自定義乙個求平方 根的函式 include define delt 10e 6 定義乙個精度要求 double mysqrt double x while x2 x1 delt return x0 int main void 一 來 在c語言中有庫函...

c語言程式設計軟體如何變中文模式,C語言程式設計軟體有沒有中文版

換乙個程式設計軟體就好了 有一些是不支援中文的 好好學英語吧,想學程式設計英語是必須的 怎麼程式設計中文軟體,就是用c語言,編中文的軟體 c不支援中文程式設計,c 支援,如果要用c編輯中文程式的話只有採用c的影象模式,按照畫圖的模式來程式設計,就是把每個字畫出來,那樣就能在圖形模式下顯示漢字了,當然...