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語言中,085為,c語言中負數如何表示
printf函式輸出strlen 函式執行的結果,strlen 計算字串 t 065 xff n 的字元個數,該字串中有5個元素,所以會輸出5,5個元素分別是 1 t 換碼符 t 表示水平製表位 horizeontal tab 2 雙引號 3 065 字元 後面的數字065是三個八進位制數,它是數字...
c語言中的,c語言中的EOF
全文結束就是文字的結束,0 是字串結尾字元,在螢幕上敲的話,linux下輸入ctrl d,windows下輸入ctrl z,os下輸入f4,就能輸入eof。兩個while語句,前面乙個判斷讀取字元是否為eof,後面乙個判斷讀取字元是否為換行字元。如果敲回車的話,沒有eof,只有 r,r是回車符。全文...
c語言中如何輸入邏輯或符號C語言中,如何輸入邏輯或符號
1 在鍵盤區的大enter上方,是有乙個 和乙個 組成的那個鍵,然後用shift 這個鍵就可以打出來了。有時候是分成兩段的,這是在c語言編輯器中的效果,並不影響編譯。2 果任一運算元或兩個運算元為true,則邏輯 或 運算子 返回布林值true 否則返回false。運算元在計算之前隱式轉換為型別bo...