怎样 用C语言 判断一个数是不是整数

输入一个整数a然后这个树经过了一些复杂的运算得到了另一个数b就是说b=f(a)写一下判断b是不是整数的算法,谢谢了昂... 输入一个整数a

然后这个树经过了一些复杂的运算

得到了另一个数 b

就是说b=f(a)

写一下 判断b是不是整数的算法,谢谢了昂
展开
 我来答
听不清啊
高粉答主

推荐于2017-09-24 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
如果用实型变量x接收一个数或通过计算得到一个数后要知道它是不是整数,没有很好的办法。因为实数在计算机中不能准确地存储,所以不能直接判断两个实型量(x,与表示整数的实型量,必须要同类型的量才能比较)是否相等,首先要明确能允许的误差是多少。比如,一般情况当误差的绝对值小于10的负8次方时我们可以认为两个实数是相等的。所以,要使用math库。
#include <math.h>
float x;
......
if(fabs(x-(int)x)<1e-8)printf("x是一个整数\n");
else printf("x不是一个整数\n");
鄞青瓮全
2019-02-24 · TA获得超过3966个赞
知道大有可为答主
回答量:3097
采纳率:26%
帮助的人:464万
展开全部
int(a)==a;
用int强制把要判断的那个数转换成整形,如果它们还相等···说明是整数···例如a=2.1的话int(a)就会等于2,而2.1!=2,所以不是整数···整数的话就会相等··
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哆啦标标
推荐于2017-09-05 · TA获得超过6701个赞
知道大有可为答主
回答量:7472
采纳率:50%
帮助的人:3338万
展开全部
int c=(int)b,d=(int)(b+0.9999999)
if(c==d)
{
//整数
}

//或者:
if(b-(int)b==0)
{
//整数
}

//整数和实数是不能直接比较的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
俎茹上官思柔
2020-02-11 · TA获得超过3911个赞
知道大有可为答主
回答量:3193
采纳率:34%
帮助的人:228万
展开全部
对1取余等于0则说明为整数
或者
float a;
int b = (int) a;
if(a-b==0){//整数
}else{//小数
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laocui172
2007-04-04 · TA获得超过1754个赞
知道小有建树答主
回答量:1957
采纳率:0%
帮助的人:909万
展开全部
if (b!=int(b))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式