c語言如何判斷整數,c語言判斷乙個數是否為整數

2021-05-02 22:11:19 字數 6651 閱讀 9112

1樓:匿名使用者

c語言判斷兩數相除結果是否為整數可採用模運算。

%是c語言提供的「模運算」符,如8%5表示8整除5,取其餘數,結果為3

c語言要求參與模運算子兩端的數,必須是整型類資料,如:char short int long, unsigned這些型別,不能是浮點型別資料。

如,判斷乙個數除以100後是不是整數,(該數是不是100的整數倍,或該數能否整除100),c判斷語句可寫成:

int x;

scanf("%d", &x );

if ( x%100 ==0 )

printf("%d是100的倍數\n",x);

else

printf("%d不是100的倍數\n",x);

2樓:匿名使用者

double x;

scanf("%f",&x);

if((int)x==x)

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

else

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

3樓:冰水月蘭馨

變數的型別 就已經決定 該型別的,如果 除100 則看運算結果儲存的資料型別 不需要去判斷

4樓:

你是判斷x(int型)是否為100的倍數吧

if(x/100*100==x)

如果真 x是100倍數

5樓:

x%100 == 0就是整數

6樓:匿名使用者

int x;

if(x/100-(int)(x/100)==0)printf("是整數\n");

else

printf(""不是整數\n"");

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

7樓:考元修龐裳

使用截尾函式可以驗證!

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

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

否則,便不是整數!

截尾函式:trunc(x)

判斷:if

trunc(x)=x

then

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

望採納!

8樓:匿名使用者

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

#include

#include

main()

9樓:凌亂心扉

方法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」);

10樓:育知同創教育

double x;

scanf("%f",&x);

if((int)x==x)

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

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

11樓:顧神明

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

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

12樓:

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

13樓:匿名使用者

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

14樓:匿名使用者

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

#include \"math.h\"

main()

15樓:範韻楊凱復

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

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

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

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

16樓:凌亂心扉

方法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」);

17樓:聽不清啊

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

所以,要使用math庫。

#include

float x;

......

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

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

18樓:王錚教授

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

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

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

#include萬能頭挺好的

int main()

19樓:匿名使用者

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

else 不是;

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

輸入n後,

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

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

20樓:真忙得很

#include

int main(void)

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

c語言程式設計中如何判斷乙個數是否為整數

21樓:匿名使用者

c語言判斷是否為整數,那麼只可能是判斷輸入的值,或者字串中的值,是否為整數。

因為一旦儲存在變數中,根據變數型別,要麼為整數,要麼為浮點數,是確定的。

一、判斷思路:

1、整數中,按十進位制計算,合法字元為0到9,另外在最初位置可以有符號,即+或者-。

2、對於輸入的值,可以先儲存到字串中,這樣轉換為判斷字串中是否為整數。

3、先判斷第乙個字元是否為+或者-, 如果是,則從第二個開始判斷,否則從第乙個開始判斷。

4、對每乙個需要判斷的字元,判斷是否在'0'到'9'之間,如果是則合法,否則非法。

5、一旦出現非法字元,說明不是整數。如果所有字元合法,那麼是整數。

二、參考**:

int is_int(char *s)//判斷s中是否為整數,如果是返回1,否則返回0.

return 1;//所有都是合法字元,返回1,表示為整數

}int main()

22樓:始蘭夢始睿

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

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

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

23樓:匿名使用者

int ret;

記錄scanf函式的返回值

if(ret!=2) //根據scanf函式的返回值,判斷輸出資料個數或者格式是否錯誤

24樓:匿名使用者

double x;

scanf("%f",&x);

if((int)x==x)

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

25樓:匿名使用者

這個提法不正確,「乙個數」是什麼概念?如果一塊記憶體中的資料可以解釋成乙個數,那這個數可以是整數,也可以是浮點數。如果你要判斷使用者輸入的數是整數還是浮點數,你只能用浮點數來儲存,然後判斷是否和自己強轉的整數形式相等。

26樓:

xiaoweidelg 應該問的是乙個數是否小數點後面全0。

bool isinteger(double d)

27樓:迷戀_哈哈

比如double x=2.75;

int y=(int)x;

if(x==y)就是正數

28樓:道初潛珉

你直接用int型不就得了,這樣是不會保留小數的...

29樓:欣悅神話

(x-(int)x)<=1e-8

30樓:匿名使用者

就像需要判斷蛇是不是有足一樣的問題

c語言如何判斷乙個數能否被4整除?謝謝!

31樓:四捨**入

可以參du考下面的**:

方法一zhi

if(a%4==0)

else

retval = 0; /* 不能被4整除 */if (0 == num & 0x3)

return retval;

擴充套件資料:

isupper()函式:判斷乙個字元是否是大寫字母isspace()函式:判斷乙個字元是否是空白符isprint()函式:

判斷乙個字元是否是可列印字元islower()函式:判斷乙個字元是否是小寫字母ldexp()函式:返回x乘以2的exponent次方(次冪)的pow()函式:

求x的y次方的值

frexp()函式:提取浮點數的尾數和指數部分modf()函式:提取浮點數的小數和整數部分

32樓:匿名使用者

a%4 == 0;

整除返回0,否則返回餘數。

33樓:匿名使用者

retval = 0; /* 不能被4整除 */

if (0 == num & 0x3)

return retval;

34樓:匿名使用者

ncutyuhaitao 正解

35樓:

if(a%4==0)

else

36樓:匿名使用者

#include

int main()

else

}return 0;}

37樓:哪兒痛

樓主你好bai

!你問的問題**du如下及zhi執行截圖:

如果有不正確dao之處,望指正!

版謝謝權!希望我的回答對你有幫助!

#include

int main()

C語言關於判斷點在圓上,C語言如何編判斷點是否在圓上

float a,b scanf f,f a,b 獲取點座標if abs a a b b 1 0.001 else include using namespace std int main 根本就沒注意精確3位 c語言如何編判斷點是否在圓上 輸入某個點a的平面座標 x,y 判斷 輸出 a點是在圓內 圓...

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

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

c語言問題輸入整數n和它的進製d判斷整數

include int fun int n,int d int index 0,x,y,i x n y n d while x 0 for i 0 i index 2 i return 1 void main else include include using namespace std stat...