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