c語言判斷一個數是不是整數
㈠ 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語言中如何判斷一個數是不是整數
方法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語言,判斷輸入的數是否是正整數
思路是:一個小數浮點變數和一個整型變數。輸入浮點變數,先然後將浮點變數中存儲的數賦值到整型變數中,整型變數自動去除小數部分。將兩者比較,如果浮點變數等於整形變數,並且還要看一下是不是正數。如果滿足這兩點,就說明浮點變數小數點後沒有數,而且是正數,就輸出「是正整數」。否則直接輸出「不是正整數。」。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
float b;//用小數變數
scanf("%f",b);
a=b;//去除小數部分
if(a==b&&a>0){//沒有小數的和有小數的比,並且判斷是不是正數。
//說明小數部分是0,而且是正數
printf("是正整數");
}else{
printf("不是正整數");
}
return 0;
}
我是C++語言,不習慣C語言,這裡面好多錯誤,你也可以改正一下。(這道題的思路我是正確的。)
㈣ 怎麼編程判斷一個數是不是整數
可以參考下面的代碼:
#include <iostream>
using namespace std;
int main(){
float a;
cin>>a;
if(a-(int)a==0)
cout<<a<<"是整數"<<endl;
else
cout<<a<<"不是整數"<<endl;
return 0;
}
(4)c語言判斷一個數是不是整數擴展閱讀:
c++相關函數
double tanh(double x)返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y)返回直角三角形斜邊的長度(z)
double ceil(double x)返回不小於x的最小整數
double floor(double x)返回不大於x的最大整數
void srand(unsigned seed)初始化隨機數發生器
int rand()產生一個隨機數並返回這個數
㈤ 怎樣 用C語言 判斷一個數是不是整數
如果用實型變數x接收一個數或通過計算得到一個數後要知道它是不是整數,沒有很好的辦法。因為實數在計算機中不能准確地存儲,所以不能直接判斷兩個實型量(x,與表示整數的實型量,必須要同類型的量才能比較)是否相等,首先要明確能允許的誤差是多少。比如,一般情況當誤差的絕對值小於10的負8次方時我們可以認為兩個實數是相等的。所以,要使用math庫。
#include <math.h>
float x;
......
if(fabs(x-(int)x)<1e-8)printf("x是一個整數\n");
else printf("x不是一個整數\n");
㈥ C語言中如何判斷輸入的數是否為整數
若n=n*n,n,n均為正整數,則n為完全平方數
c語言中,include
直接對n開平方,
如果有
sqrt(n)==int(sqrt(n)),則n為完全平方數
sqrt()函數是math庫中的開平方函數,如果開方結果與取整結果一樣,則符合要求.
㈦ 怎麼用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語言 如何判斷一個浮點數是不是整數(說法不太嚴格)
無論是通過sizeof查看位元組數(int和float佔用位元組數相同),還是做float轉換為int然後相除判斷是否等於1(int轉為float可能尾數丟失),或者是sprintf轉化為字元串去檢查是否有小數點(int會轉換為float,導致有小數點出現),都有問題。
以字元讀入數,挨個字元判斷,檢查到有小數點且所有字元在字元『0』到『9』之間,且小數點後不超過6位可以判為float,超過為double,沒有小數點為int;只長度為1且字元為『a』到『z』或『A'到'Z'為char,長度超過1為字元串。
㈨ C語言怎麼用if判斷一個輸入數是不是整數
好像不行哎~
如果你要判斷,至少要把輸入的東西全部讀進來,這樣的話只能用字元串來保存輸入的值,然後對輸入值進行檢查,看是否有數字以外的字元,如果有,那麼就不是整數,如果沒有就是了,而且若需要獲得這個整數的值,還要自己寫方法把字元串轉換為數字