C語言中如何判斷數值為整型,比如,abc,怎麼知道c是不是整型?謝謝

時間 2021-10-17 05:01:00

1樓:匿名使用者

這要看你怎麼定義了 如果你定義的是int 或long 型 就為整形 如果你定義的是 float 或 double 型 則為浮點型

2樓:

double r = double(a) / b;

if (abs(r - a / b) <= 0.000001) 就可以認為是整型,

否則可以認為不是整型。

3樓:房間的撒謊

可以使用關鍵字sizeof,其演算法為

.........

printf("%d",sizeof(c));

.....

若輸出的值為 4則是c是整形,否則就不是

這位哥們建議你去買本專業點的c程式設計的書來看看,記得買正版的啊,盜版的只會害了你

4樓:匿名使用者

你是說用程式本身來判斷是不是整型嗎?

如果只是 用 頭腦 就看 a和b 是不是都是整型 如果是 a /b 就是整型 然後就判斷 c 是不是等於 a/b

5樓:匿名使用者

你看前面宣告c的型別是不是int。要是的話,那就是整型了。

6樓:七七金

變數使用前必須先指定型別,所以c的型別必須自己指定

而a / b的型別是系統按規則自動轉換(取a,b中精度高的型別)

7樓:_晝伏_夜出

只能看定義了。。。如果是int c;就是整型嘍,double c;就是實型麼。

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

8樓:凌亂心扉

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

9樓:聽不清啊

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

所以,要使用math庫。

#include

float x;

......

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

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

10樓:王錚教授

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

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

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

#include萬能頭挺好的

int main()

11樓:匿名使用者

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

else 不是;

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

輸入n後,

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

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

12樓:真忙得很

#include

int main(void)

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

c語言中怎樣判斷乙個數是幾位

13樓:匿名使用者

思路:因為c語言中整數除以整數等於整數,所以乙個數除以10就少一位,所以求乙個數的位數可以依次除10操作,直到其位0,每除10該數的位數加1。

參考**:

#include

int main()

printf("該數的位數為:%d\n",sum);

return 0;}/*

12345

該數的位數為:5*/

14樓:匿名使用者

思路:因為整數除以

整數的結果是整數,所以乙個數每除以10,位數就少1,所以可以採用while迴圈依次除以10,直到結果為0,每除以10位數加1。

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

else 不是;

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

輸入n後,

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

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

15樓:匿名使用者

我告訴你乙個非常簡單的方法,並且不改變原值:

strlen(itoa(a,str,10));//a為你需要判斷的數,這裡的a為整型

**********====**如下***************==

#include

#include

#include

void main()

//程式我已經除錯過了,不懂的可追問哦

16樓:匿名使用者

最簡單的方法,就是轉換為字串,利用庫函式來做給你個**參考

#include

#include

#include

int main()

17樓:匿名使用者

**越簡單越好...???

給樓主寫了個?你看還可以不?

你自己還是去網上除錯下我這個程式,看能實現你的功能不?

#include

void main()

while(n!=0);

printf("次數是%d位數\n",count);}}嘿嘿..記得除錯啊!

18樓:管家光

int a,i;

int count=1;

scanf("%d",&a);

for(i=10;i10)

break;

count++;

}printf("這個數是%d位數",a);

自己寫的,思想是用乙個迴圈讓數分別去除以10,100,1000等,如果結果小於10,就停止。count用來計數。

19樓:匿名使用者

#include

int main(void)

printf("%d\n",j-1);

return 0;}

20樓:瓊頭浪子

#include

void main()

printf("%d",++i);}

c語言中如何判斷乙個數是不是整數

21樓:匿名使用者

//結果是7744, 是88*88 = 7744先附上執行截圖附上程式, 偶樓主你加了點注釋#include

#include int main(void)getchar();

return 0;

}bool sqrtisintnum(int n[4])

22樓:匿名使用者

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

23樓:匿名使用者

sqrt(a)==(int)sqrt(a)

c語言中如何判斷乙個數是否是質數?

24樓:匿名使用者

判斷乙個數是否是質數在於看這個數字是否只能被1和它本身所整除的整數。但是有乙個例外,1不屬於質數。

c語言中的質數:

數學的概念中,素數就是只能被1和它本身所整除的整數。但是有乙個例外,就是1不屬於素數。所以你在輸入乙個整數並加以判斷的時候就需要考慮這種情況了。如下即可:

這裡用到了while迴圈來判斷輸入的數值並加以判斷,如果輸入格式正確的話會返回乙個1並將輸入的數值存入num這個變數中,然後再判斷num的值是否為1。

在這裡有一條很好用的規則用於素數的判斷:測試的數隻需要界於2到num的平方根之間的所有數,看它們是否可以整除num。如果可以整除,說明輸入的數不是素數;反之,說明輸入的數是素數。

到這裡,就會有人說平方根怎麼求,其實這個很好解決。你完全可以像下面這樣描述判斷條件:

for(div = 2; (div * div) <= num;div++)else else{// 約數相同

printf("%lu is divisible by %lu.\n", num, div);

// 將isprime設定為0,表示其不是乙個素數

isprime = 0;

if(isprime == 1){

printf("%lu 是素數.\n", num);

printf("please enter another integer for analysis. ");

printf("enter q to quit.\n");

printf("bye.\n");

return 0;

這裡有乙個關鍵就是,在for迴圈控制表示式中使用了逗號運算子,以針對每個新輸入的數將isprime初始化為1。

25樓:

#include

int main()

}if(b==2)

else

return 0;}

26樓:精靈只路過

#include "stdio.h"

void main()

}//如果乙個整數是質數,那麼只有被1和它本身整除,所以只有2,如果超過2,那麼肯定不是質數

if (flag==2) else}

27樓:太陽雨

樓上的太複雜了!

int main()

}if(a==0)

else

return 0;}

28樓:聽不清啊

#include

int main()

29樓:熱情的滑鐵盧

#include

#include

#include

int prime(int a)    /*定義乙個函式來判斷數a是不是質數*/

if (flag==2)

return 1;  /*如果a是質數,flag應該是2,返回值1*/

else

return 0;  /*如果a不是質數,flag比2大,返回值0*/

}/* (這部分內容是補充,prime函式可以簡化為:)int prime(int a)

return flag;}*/

int main()

C語言中整型陣列的每個元素在記憶體中是如何存放的

整型陣列每個元素在記憶體中連續儲存,每個整型元素儲存方式取決於機器硬體。一 陣列元素都是連續儲存的,位址依次從低到高。如字元陣列 char a 10 其元素有10個,為a 0 到a 9 位址連續。如果a的起始位址為0x1234,那麼後續位址依次為0x1235,0x1235.0x123d。二 每個元素...

C語言中整型資料的有效位數是多少?

1 從二進位制的角度來看整數的有效位數,要從整數的編碼說起,有符號整數編碼包括原碼 反碼和補碼三種常規編碼方式,原碼表示即最高位為符號位,0表示正數,1表示負數,如果以8位二進位制位來表示,符號位要佔1位,所以有效位數7位。要獲取整型型別在當前編譯環境中所佔的位數,可以使用sizeof運算子。inc...

C語言中如何判斷是不是合法轉義字元

越答越離譜 0 是八進位制的轉移字元,如果看到 087這就是非法的,0x 表示十六進製制,還有一些必備的如 n r 這些。和普通的字元判斷相同,比如判斷和 a 是否相同,ch a 那麼判斷轉義一樣,如ch n 邏輯表示式的結果只有兩個,true和false,所有的邏輯表示式都一樣,為真就是true,...