LHL算法入门经典 判断整数
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;
}
本文介绍了LHL算法在C语言中判断一个double类型数值是否为整数的方法:通过`floor(a+0.5) == a`进行判断。该方法解决了由于浮点数精度问题可能导致的误判,确保了整数判断的准确性。
457

被折叠的 条评论
为什么被折叠?



