C語言中如何取整,C語言中取整是怎麼取?

時間 2021-08-11 17:08:12

1樓:茅玉枝稅子

參與運算量均為整型時,

結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。

printf("%d,%d\n",10/3,-10/3);

printf("%f,%f\n",10.0/3,-10.0/3);

c語言有以下幾種取整方法:

1、直接賦值給整數變數。如:

inti

=2.5;或i

=(int)

2.5;

這種方法採用的是捨去小數部分,可以用於你的問題。

2、c/c++中的整數除法運算子"/"本身就有取整功能(int/int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,但是整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是x的整數部分。如:

floor(2.5)=2

floor(-2.5)=-3

4、使用ceil函式。ceil(x)返回的是不大於x的最小整數。如:

ceil(2.5)=2

floor和ceil對於正數沒有區別,但是對於負數結果不同。

2樓:匿名使用者

取整函式有兩種 一種是直接取整數部分 也就是這三個取整結果都是0

另 一種是四捨五入取整數部分 也就是這三個取整結果是0 0 1

可惜的是我取整函式的符號給忘了 。。

3樓:匿名使用者

只取整數,0.1 = 0, 1.56 = 1, 4.00 = 4

c語言中取整是怎麼取?

4樓:一白二黑

比如是定義變數float a=2.4,b=2.6,目的是使的a=2,b=3

用int c=int(a+0.5);

int d=int(b+0.5);

c中的取整都會把尾巴去掉

對於保留位數要求有模擬的用法 ,例如使 double a=3.1415926;

我想使a=3.14,保留兩位,可以用 a=a+0.005int b=a*100;

a=(double)b/100;

c語言有哪些取整函式?

5樓:聽不清啊

c語言有以下幾種取整方法:

1、直接賦值給整數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種方法採用的是捨去小回數部分

2、c/c++中的整數除答法運算子“/”本身就有取整功能(int / int),但是整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。

這兩個函式在vc++中也能使用,但使用時需要包含math.h檔案。要在程式的開始新增如下**:

#include

6樓:匿名使用者

除樓上的回答之外,還有round(x)返回x的四捨五入的整數值

7樓:匿名使用者

常用(int)x對x取整,而int(x)是c++中的用法,或者直接賦給int型變數,但如果是負數會產生誤差

8樓:匿名使用者

ceil和floor

floor(x),有時候也

寫做floor(x),其功能是“下取整”,或者說“向下舍入”,即取不大回於x的最大整

答數(與“四捨五入”不同,下取整是直接去掉小數部分),例如:x=3.14,floor(x)=3 y=9.99999,floor(y)=9

ceil是向上取整,例如:x=3.14,ceil(x)=4

c語言中取整是怎麼取

9樓:一白二黑

比如是定義變數float a=2.4,b=2.6,目的是使的a=2,b=3

用int c=int(a+0.5);

int d=int(b+0.5);

c中的取整都會把尾巴去掉

對於保留位數要求有模擬的用法 ,例如使 double a=3.1415926;

我想使a=3.14,保留兩位,可以用 a=a+0.005int b=a*100;

a=(double)b/100;

10樓:__與非

可以使用ceil和floor函式(注意包含標頭檔案math.h ),如果需要返回整形可以使用強制型別轉換。

函式名: ceil

用 法: double ceil(double x);

功 能: 返回大於或者等於指定表示式的最小整數標頭檔案:math.h

返回資料型別:double

函式名: floor

用 法: double floor(double x);

功 能: 返回大於或者等於指定表示式的最小整數標頭檔案:math.h

返回資料型別:double

11樓:草帽小子

ceil和floor

floor(x),有時候也寫做floor(x),其功能是“下取整”,或者說“向下舍入”,即取不大於x的最大整數(與“四捨五入”不同,下取整是直接去掉小數部分),例如:x=3.14,floor(x)=3 y=9.

99999,floor(y)=9

ceil是向上取整,例如:x=3.14,ceil(x)=4

12樓:匿名使用者

向下?interger = (unsigned long )floatnum;

向上 interger =( (unsigned long )floatnum +1 );

c語言中怎麼四捨五入

13樓:匿名使用者

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

比如: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

14樓:高中生三

設 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

15樓:請叫我小強

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

比如0.756

double a=0.756;

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

printf(“%.2lf",a)

16樓:聽不清啊

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

例如: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;

17樓:匿名使用者

有一個round函式可以

直接呼叫,

#include"stdio.h"

#include"math.h"

void main()

18樓:匿名使用者

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

#include

int main()

19樓:匿名使用者

round(x)

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

比如 round(3.623); 返回4

20樓:量子高巨集亮

y = (int)(x+0.5);

21樓:匿名使用者

int main()

22樓:匿名使用者

比如小數為 f

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

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

23樓:毛毛

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

24樓:匿名使用者

給你個簡單的餓例子

四捨五入小數點後一位

float f=1.54536;

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

你分析看看就知道了

#include

main()

25樓:匿名使用者

中間函式這樣填:

float x;

int a;

cin>>x;

if(x>=0)

a=x+0.5;

else

a=x-0.5;

26樓:清雅之蘭向日葵

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

27樓:菜鳥升級中

int a = 100.453627

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

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

後面的方法一樣

28樓:匿名使用者

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

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

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

29樓:我在天堂d你

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

c語言取整函式

30樓:

在foxpro中,取整函式是int,c語言估計也是int,不過這不要緊,能理解我的做法就行內。

假定a=21.38,要想得到 b=0.38 (是容這個意思吧?)我是這樣做的:

b=a-int(a)

也即:b=21.38-21=0.38

可以了嗎?

31樓:匿名使用者

在foxpro中,bai

du取整函式是int,c語言估計也是int,不過zhi這不要緊,能理解我dao的做法就行。

假定內a=21.38,要想得到 b=0.38 (是容這個意思吧?)我是這樣做的:

b=a-int(a)。

c語言中除法和取整分別怎麼做,C語言中除法和取整分別怎麼做

聽不清啊 include int main double a,b,c 讀入被除數和除數 c a b 計算商 兩行輸出 printf 商的整數部分是 d n int c 取整數並輸出 return 0 雖然當中的除法和取整是一個概念的。只是當你在做這些除法的時候,你必須要指定他是什麼型別的資料,這樣就...

c語言中運算子是取整運算子嗎,C語言中「 」運算子是取整運算子嗎?

終極至尊粉 printf f,f 10.0 3,10.0 3 雙目運算具有左結合性。參與運算量均為整型時,結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。printf d,d 10 3,10 3 printf f,f 10.0 3,10.0 3 c語言有以下幾種取整方法 1 直...

c語言中取隨機數的函式,C語言中取隨機數的函式

韌勁 1.基本函式 在c語言中取隨機數所需要的函式是 int rand void void srand unsigned int n rand 函式和srand 函式被宣告在標頭檔案stdlib.h中,所以要使用這兩個函式必須包含該標頭檔案 include 2.使用方法 rand 函式返回0到ran...