|
C語言有以下幾種取整方法:
1、直接賦值給整數(shù)變量。如: int i = 2.5; 或 i = (int) 2.5; 這種方法采用的是舍去小數(shù)部分,能用于你的問題。 2、C/C++中的整數(shù)除法運算符“/”本身就有取整功能(int / int),而下面介紹的取整函數(shù)返回值是double。整數(shù)除法對正數(shù)的取整是舍去小數(shù)部分,能用于你的問題。不過整數(shù)除法對負數(shù)的取整結果和使用的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。floor函數(shù)能用于你的問題。 hyh的意見: int x,a,b,c,d; a=x/1000; b=x%1000/100; c=x%100/10; d=x%10; 郭麗: 幾位專家解釋的floor和ceil兩個函數(shù)是不是只能在 tc 2.0中適用,我在vc++中試過了,不認這個函數(shù),是不是還要包括一個什么特別的頭文件???請各位專家指教,我是新手。謝謝了 答:這兩個函數(shù)在VC++中也能使用,但使用時需要包含math.h文件。能在程式的開始添加如下代碼: #include <math.h> |
|
|