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,...