1. 程式人生 > >C語言-----如何用C語言判斷一個數是不是整數

C語言-----如何用C語言判斷一個數是不是整數

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

第一種方法:

  #include <stdio.h>
  #include <math.h>
   float x;
   ...
   if(fabs(x-(int)x)<1e-8) printf(“x是一個整數\n”);
   else printf(“x不是一個整數\n”);

第二種方法 :

 int c = (int)b,d = (int)(b + 0.999999)
  if( c == d )
    printf(“是整數\n”);
  else
    printf(“不是整數\n”);

第三種方法 :
float b;
 ...
 if(b - (int)b == 0)
     printf(“是整數\n”);
 else
     printf(“不是整數\n”);
第四種方法 :
float b;
  ... 
  if( b != (int)b )
      printf(“不是整數\n”);
   else
      printf(“是整數\n”);



相關推薦

三元運算子判斷個數是否為偶數!

//正在學Java,呵呵,挺簡單的,拿來練練語法而已。 import java.util.Scanner; //引入Scannet類,用於輸入 public class OuShu {  public static void main(String args[]){  

&符號,判斷個數的奇偶性,判斷個數(x)是否是2的n次方

判斷一個數的奇偶性,是在C++ PRIMER習題集看見的,感覺有意思: 假設有一個整數x哈,假設 那麼就有:if(x&1) cout<<"奇數"<<endl;

C語言 判斷個數是素數(函式表示)

# include <stdio.h> int f(int n)  //定義函式f {     int i;     int sum=0;     if(n!=2)         {  

c語言 實現一個函式,判斷個數是素數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

C語言判斷個數是否為素數

#include "stdio.h" #include"time.h" #include"math.h" int isPrimeNumber(int number) { //判斷是否為素數 float sqrtOfNum = sqrt((double) number); for

C語言判斷個數是迴文數

 所謂迴文數,就是說一個數字從左邊讀和從右邊讀的結果是一模一樣的。 首先,我們來判斷一下一個數是否為迴文數: #define _CRT_SECURE_NO_WARNINGS 1 #include&

C語言判斷個數是偶數還是奇數

/** *如果一個數能被2整除且餘數為0 返回1 佛則返回 0 */ int isOuShu(int i) { if(i%2==0) return 1; else return 0; } void main() { int a;

C語言判斷個數是否為素數

所謂素數,是指除了1和本身之外,不能被其他任何整數整除的數。 判斷一個數n(n>=3)的方法:將n作為被除數,將2到(n-1)各個整數先後做除數,如果都不能被整除,則n為素數。 演算法分析: S1:輸入n的值 S2:i=2(i作為除數) S3:n被i除,得餘數r,r=

c語言:實現一個函式,判斷個數是素數。

實現一個函式,判斷一個數是不是素數。程式:#include<stdio.h>#include<math.h>int prime(intnum) //prime表示素數{int i

如何判斷個數是否是質數(C語言)-超詳細

質數是只能被1或者自身整除的自然數(不包括1),稱為質數。 判斷是否是質數最直觀和簡單的方法就是從2開始直接除,能除盡(餘數為0)就不是質數。則C語言實現為: int isprime(int m) {

c語言判斷個數n能否同時被3和5整除

// 判斷一個數n能否同時被3和5整除 #include <stdio.h> int main() { int n; printf("請輸入一個整數:"); scanf("%d",&n); if( n % 3 == 0 &&

C語言-----如何用C語言判斷個數整數

  如果用實型變數x接收一個數或通過計算得到一個數後要知道它是不是整數,沒有很好的辦法.因為實數在計算機中不能準確的儲存,所以不能直接判斷兩個實型量是否相等,(實型和整形是不能直接比較的,要做一步型別

C語言經典演算法100例-030-判斷個數是否為迴文數

所謂迴文數,即是正序與逆序相等的一個數,如121,12321,10501等。寫程式判斷輸入的數是否為迴文數。 1.分析:表面上看,我們似乎要這麼做,把各個位分離,然後把第一個數跟最後一個數比較,第二個跟倒數第二個....等等。注意,這樣做太複雜了,迴文數的條件是正序等於逆序

c語言==判斷個數是否為2的整數次方【使用迴圈】

對於判斷一個數是否為2的N次方問題,通常想到的最為直接的辦法就是對這個數不斷對2取餘,為0就將該數變為該數除以2,直到最後該數為1為止。 void judge(int n) { while(!(n % 2)) { n = n

C語言判斷個數是否為素數

題目來源:大工慕課 連結 作者:Caleb Sung 注意事項 判斷一個數是否為質數,首先我們需要知道質數的定義:對於大於1的數,如果除了1和它本身,它不能再被其它正整數整除,那麼我們說它

C語言 java 判斷個數是質數

#include<stdio.h> #include<math.h> /* 質數判斷的基本思路:對於正整數n(n>1),用2~根號n去除它,如果存在整除的情況,則n不是質

C語言判斷個數的奇偶(位操作)

//判斷一個數的奇偶 #include <stdio.h> int is_signal(int num) { if (num & 1) return 1; else r

C語言判斷個數是否為2的n次方

//判斷一個數是否為2的n次方 #include <stdio.h> int is_two_n(int num) { if ((num&(num - 1))) //去掉一個1

python語言判斷個數是否是水仙花數?

#用python語言來判斷一個數是否是水仙花數? #水仙花數: # 1) 一個三位正整數 ( 即取值區間 [100,1000) ) # 2) 個位數字的立方+十位數字的立方+百位數字的立方=它本身  (即數字 abc = a**3 + b**3 + c**3) 程式碼: for

c語言位運算實現兩個數平均數

c語言用位運算實現兩個數平均數 對於十進位制而言,向右移動一位就是除以10, 對於二進位制而言,向右移動一位就是除以2, 對於八進位制而言,向右移動一位就是除以8, 對於十六進位制而言,向右移動一位就是除以16 因為計算機是通過二進位制來計算的,知道這個規律之後我們可以編寫程式碼 int