在 C 語言中,取整的規(guī)則取決于使用的取整函數(shù)。
網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了扎魯特旗免費建站歡迎大家使用!
如果使用內(nèi)置的取整函數(shù) floor(),則取整的規(guī)則為向下取整,即取最大的整數(shù),小于等于原數(shù)。例如:
floor(3.14)? # 輸出 3
floor(-3.14)? # 輸出 -4
如果使用內(nèi)置的取整函數(shù) ceil(),則取整的規(guī)則為向上取整,即取最小的整數(shù),大于等于原數(shù)。例如:
ceil(3.14)? # 輸出 4
ceil(-3.14)? # 輸出 -3
如果使用內(nèi)置的取整函數(shù) round(),則取整的規(guī)則為四舍五入,即取最接近原數(shù)的整數(shù)。例如:
round(3.14)? # 輸出 3
round(3.5)? # 輸出 4
round(-3.14)? # 輸出 -3
round(-3.5)? # 輸出 -4
注意:floor() 和 ceil() 函數(shù)需要使用 math.h 頭文件。
#include math.h
另外,還可以使用類型轉(zhuǎn)換運算符(即 (int) 運算符)將浮點數(shù)強制轉(zhuǎn)換成整型,實現(xiàn)取整的效果。例如:
(int)3.14? # 輸出 3
(int)-3.14? # 輸出 -3
但是這種方法不會準確地處理負數(shù)
(int)-3.5? # 輸出 -3(不是正確的答案)
C語言有以下幾種取整方法:
1、直接賦值給整數(shù)變量。如:
int
i
=
2.5;
或
i
=
(int)
2.5;
這種方法采用的是舍去小數(shù)部分
2、C/C++中的整數(shù)除法運算符“/”本身就有取整功能(int
/
int),但是整數(shù)除法對負數(shù)的取整結(jié)果和使用的C編譯器有關。
3、使用floor函數(shù)。floor(x)返回的是小于或等于x的最大整數(shù)。如:
floor(2.5)
=
2
floor(-2.5)
=
-3
4、使用ceil函數(shù)。ceil(x)返回的是大于x的最小整數(shù)。如:
ceil(2.5)
=
3
ceil(-2.5)
=
-2
floor()是向負無窮大舍入,floor(-2.5)
=
-3;ceil()是向正無窮大舍入,ceil(-2.5)
=
-2。
c語言取整和取余:
示例
public class Demo_1 {undefined
public static void main(String args) {undefined
Scanner sc = new Scanner(System.in)
System.out.print("請輸入要判斷的數(shù)字(五位數(shù)):")
int num = sc.nextInt()
sc.close()
//截取最后一位數(shù)
int a = num % 10
//截取第一位數(shù)
int b = num / 10000
//截取第四位數(shù)
int c = num % 100 / 10
//截取第二位數(shù)
int d = num / 1000 % 10
System.out.println(a + "," + b + "," + c + "," + d)
boolean b1 = (a == b)
boolean b2 = (c == d)
if(b1 b2) {undefined
System.out.println(num + "是回文數(shù)")
}else {undefined
System.out.println(num + "不是回文數(shù)")
}
}
}
1.直接賦值給整數(shù)變量
int i = 3.5;或i = (int) 3.5。
這樣的方法采用的是舍去小數(shù)部分。
2、整數(shù)除法運算符‘/’取整
‘/’本身就有取整功能(int / int),可是整數(shù)除法對負數(shù)的取整結(jié)果和使用的C編譯器有關。
比如是定義變量float a=2.4,b=2.6,目的是使的a=2,b=3
用
int c=int(a+0.5);
int d=int(b+0.5);
C中的取整都會把尾巴去掉
對于保留位數(shù)要求有模擬的用法 ,例如使 double a=3.1415926;
我想使a=3.14,保留兩位,可以用 a=a+0.005
int b=a*100;
a=(double)b/100;
很簡單的,a是個小數(shù)的話點后面有數(shù)據(jù)(3.000)浮點型
取整就是要將點后面的都去掉,把它強制轉(zhuǎn)換為3,可以這樣寫(int)a
這個時候a就為3
但是這樣是有風險的,比如a的值為3.2545,那么你強制轉(zhuǎn)換為int,a點后面的數(shù)就都被消滅了
就是這樣
#include"stdio.h"
void main()
{
double a=2.13;
int b;
b=(int)a;
printf("%d",b);
}
強制取整的話,只要在變量前加個(int),就可以強制的把其它型的數(shù)變成整型的數(shù)了
網(wǎng)站標題:c語言取整函數(shù)int語句 c語言中int怎么取整
網(wǎng)頁URL:http://www.sd-ha.com/article26/docjijg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、營銷型網(wǎng)站建設、網(wǎng)站排名、定制開發(fā)、用戶體驗、關鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)