c語言判斷是否是整數
① c語言如何判斷整數
c語言判斷兩數相除結果是否為整數可採用模運算。
%是C語言提供的「模運算」符,如8%5表示8整除5,取其餘數,結果為3
C語言要求參與模運算符兩端的數,必須是整型類數據,如:char short int long, unsigned這些類型,不能是浮點類型數據。
如,判斷一個數除以100後是不是整數,(該數是不是100的整數倍,或該數能否整除100),C判斷語句可寫成:
intx;
scanf("%d",&x);
if(x%100==0)
printf("%d是100的倍數 ",x);
else
printf("%d不是100的倍數 ",x);
② c語言怎麼判斷一個數是不是整數
方法1:
#include<stdio.h>
#include<math.h>
float x;
...
if(fabs(x-(int)x)<1e-8)printf(「x是一個整數 」);
else printf(「x不是一個整數 」);
方法2:
int c=(int)b,d=(int)(b+0.999999)
if(c==d)
printf(「是整數 」);
else
printf(「不是整數 」);
方法3:
float b;
...
if(b-(int)b==0)
printf(「是整數 」);
else
printf(「不是整數 」);
方法4:
float b;
...
if(b!=(int)b)
printf(「不是整數 」);
else
printf(「是整數 」);
③ 怎麼用c語言判斷一個數是否為整數(這個數是開平方出來的)
因為實型和整型變數是不能直接比較的,要做一步類型轉換才能比較首先要明確允許的誤差是多少。比如一般情況誤差的絕對值小於10-8時我們可以認為兩個實數是相等的。
代碼如下
#include<stdio.h>
#include<math.h>
main()
{
floatb,c;
c=1;
while(c>=0)//如果輸入小於0,就結束程序
{
scanf("%f",&c);
b=sqrt(c);
if(fabs(b-(int)b)<1e-8)printf("%.0f的開平方是個整數 ",c);
elseprintf("%.0f的開平方不是整數 ",c);
}
}
結果
④ c語言裡面怎麼判斷一個數是不是整數有沒有相關的函數
float
x;
int
y;
scnaf("%f",&x);
y=x;
if
(
y==x
)
printf("%d是整數。\n",(int)x);
else
printf("%f不是整數。\n",x);
當然也可以用簡單的條件判斷:if
(
(int)x==x
)
...