c語言判斷數是否為整數c語言判斷一個數是否為整數

2021-05-17 16:38:59 字數 4498 閱讀 9080

1樓:考元修龐裳

使用截尾函式可以驗證!

截尾函式是指將小數點後面的全部丟掉!

所以,如果是整數的話,那麼截去小數點後面的應該等於原來的這個數字;

否則,便不是整數!

截尾函式:trunc(x)

判斷:if

trunc(x)=x

then

……翻譯:如果x是整數的話……

望採納!

2樓:匿名使用者

以判斷n開根號後是否是整數為例

#include

#include

main()

3樓:凌亂心扉

方法1:

#include

#include

float x;

...if(fabs(x-(int)x)<1e-8)printf(「x是一個整數\n」);

else printf(「x不是一個整數\n」);

方法2:

int c=(int)b,d=(int)(b+0.999999)if(c==d)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法3:

float b;

...if(b-(int)b==0)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法4:

float b;

...if(b!=(int)b)

printf(「不是整數\n」);

else

printf(「是整數\n」);

4樓:育知同創教育

double x;

scanf("%f",&x);

if((int)x==x)

printf("%f是整數",x);

把所輸入的數強制轉換為整數,然後判斷是否跟原來相等。

5樓:顧神明

if(int)(n+0.9999999)==n)

printf("%d為整數",n);

6樓:

c中的sqrt函式引數為double型,返回也為double,沒有其它型別

7樓:匿名使用者

沒有這種函式的,c中是沒有的

8樓:匿名使用者

一個數開根號後如果還是整數,那麼這個數必定是整數.#include \"stdio.h\"

#include \"math.h\"

main()

9樓:範韻楊凱復

你是想知道整型常量,整型變數獲取值的過程還是想知道庫函式當中如何判定輸入資料是整型?

ps:c語言是強型別語言,如果你想用庫函式輸入一個資料,那麼該庫函式要麼是針對特定輸入型別使用的,就是說你輸入的資料必須是該函式能接受的,或者能夠強制轉換的,函式事先已經知道你會輸入何種型別。要麼在函式中會要求你指定輸入資料的資料型別,比如scanf(「%s」,s);

總之,你所要輸入的資料型別必須讓庫函式知道,而不能讓函式自己去判斷你輸入的資料可能是什麼型別。

c語言怎麼判斷一個數是不是整數

10樓:凌亂心扉

方法1:

#include

#include

float x;

...if(fabs(x-(int)x)<1e-8)printf(「x是一個整數

\n」);

else printf(「x不是一個整數\n」);

方法2:

int c=(int)b,d=(int)(b+0.999999)if(c==d)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法3:

float b;

...if(b-(int)b==0)

printf(「是整數\n」);

else

printf(「不是整數\n」);

方法4:

float b;

...if(b!=(int)b)

printf(「不是整數\n」);

else

printf(「是整數\n」);

11樓:聽不清啊

如果用實型變數x接收一個數或通過計算得到一個數後要知道它是不是整數,沒有很好的辦法。因為實數在計算機中不能準確地儲存,所以不能直接判斷兩個實型量(x,與表示整數的實型量,必須要同型別的量才能比較)是否相等,首先要明確能允許的誤差是多少。比如,一般情況當誤差的絕對值小於10的負8次方時我們可以認為兩個實數是相等的。

所以,要使用math庫。

#include

float x;

......

if(fabs(x-(int)x)<1e-8)printf("x是一個整數\n");

else printf("x不是一個整數\n");

12樓:王錚教授

其實嚴格意義上來說,你們都想複雜了。

我們應該從問題角度出發,根本不用函式。

接下來我用c++來說明,其實c也同理

#include萬能頭挺好的

int main()

13樓:匿名使用者

if(number%2==0||number%2==1)是整數; //number對2取模,餘數為0或1就是整數。

else 不是;

實際上,還可以在定義上取巧,比如說,把輸入數n設為float ,另有一個 int m;

輸入n後,

m=n;//強制把n取整賦給m

if(n==m)就是整數了。

14樓:真忙得很

#include

int main(void)

這裡while(scanf("%d",&a)==1)代表如果輸入的是一個整數就返回1並執行printf("輸入的是一個整數「);如果不是就返回0,退出迴圈,並執行printf("輸入的不是一個整數「);

怎樣 用c語言 判斷一個數是不是整數

15樓:聽不清啊

如果用實型變數x接收一個數或通過計算得到一個數後要知道它是不是整數,沒有很好的辦法。因為實數在計算機中不能準確地儲存,所以不能直接判斷兩個實型量(x,與表示整數的實型量,必須要同型別的量才能比較)是否相等,首先要明確能允許的誤差是多少。比如,一般情況當誤差的絕對值小於10的負8次方時我們可以認為兩個實數是相等的。

所以,要使用math庫。

#include

float x;

......

if(fabs(x-(int)x)<1e-8)printf("x是一個整數\n");

else printf("x不是一個整數\n");

16樓:百寶袋

int c=(int)b,d=(int)(b+0.9999999)if(c==d)

//或者:

if(b-(int)b==0)

//整數和實數是不能直接比較的。

17樓:鄞青甕全

int(a)==a;

用int強制把要判斷的那個數轉換成整形,如果它們還相等···說明是整數···例如a=2.1的話int(a)就會等於2,而2.1!=2,所以不是整數···整數的話就會相等··

18樓:匿名使用者

if (b!=int(b))

19樓:俎茹上官思柔

對1取餘等於0則說明為整數

或者float a;

int b = (int) a;

if(a-b==0)else

怎麼用c語言判斷一個數是否為整數(這個數是開平方出來的)?

20樓:

如果這個數是n,一般如是if(n==(int)n) printf("it is a integer.\n"); else printf("it is not a integer.\n");判斷就可以了。

但這不100%準確,因為同一個整數用int表達和用double表達實際上是有差別的,所以當浮點數與整型數相差非常非常小時可能會誤判。

21樓:匿名使用者

因為實型和整型變數是不能直接比較的,要做一步型別轉換才能比較首先要明確允許

的誤差是多少。比如一般情況誤差的絕對值小於10-8時我們可以認為兩個實數是相等的。

**如下

#include

#include

main()}結果

22樓:聽不清啊

if(fabs(x-(int)(x+0.5))<1e-5)printf("%d是一個整數",(int)(x+0.5));

這裡把它與相應整數的差小於0.00001,就視為它就是一個整數。

用C語言迴圈結構編寫 輸入數,判斷該數是否為素數

include int main int n int i scanf d n if n 2 printf this is not a prime.n else if n 2 printf this is a prime.n else for i 2 iif n i 0 break if i n pr...

用c語言怎麼判斷字串是否為空用C語言怎麼判斷一個字串是否為空?

用字串長度測試函式strlen str 如果自字串為空,則返回值為0 如果你輸入bai了空格,字串嚴du格來說zhi就應該不為空了,空格也是有dao對應的ascii碼值內 的,32!char的儲存範圍是容0 255 ascii 間的字元都可以存在char型資料中。因此你輸入一個空格後這個字串就不為空...

c語言程式設計 設計函式用於判斷數是否為素數,如果是素數返回1,否則返回

源程式 以及演算法解釋如下 define crt secure no warnings include int func int m 判斷函式int main 程式執行結果如下 擴充套件資料 輸出1 100之間的所有素數程式如下 include int primenumer int x 定義一個函式...