C語言判斷一個數是否為整數


為了准備考研,已是近半年未曾寫過博客,至於代碼也已生疏不少,然前途多舛,不知考研可成功否。不過總之,不管是復試、調劑亦或是春招,都還是要學一學算法的。也不傷春悲秋感嘆以往虛度的韶光了,從頭學起就從頭學起吧!

C語言判斷一個數是否為整數,這是一個很常見但是又經常困擾我的一件事,其實也很簡單。
對於輸入的double a;使用floor(a+0.5) == a來判斷即可。

原因如下:floor()是向下取整, 而至於a+0.5,則是因為有時候啊, 當你輸入一個整數 1 給一個 double 型變量的時候,存的可能是 0.9999999 , 所以這樣四舍五入一下咯,用來判斷整數還是沒啥問題的。

一個簡單的例子:

#include<stdio.h>
#include<math.h>
int main()
{
    double a;
    scanf("%lf",&a);
    if(floor(a + 0.5) == a)
    {
        printf("%s","yes");
    }
    else
    {
        printf("%s","no");
    }
    return 0;
}

截圖
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM