| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3918 人关注过本帖
标题:怎么判断两个浮点数相加是否等于另一个浮点数?
只看楼主 加入收藏
mey
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:134
注 册:2009-11-19
结帖率:100%
收藏
 问题点数:0 回复次数:4 
怎么判断两个浮点数相加是否等于另一个浮点数?
一条很简单的题...却AC不了.
http://acm.
描述
求A+B是否与C相等。
输入
T组测试数据。
每组数据中有三个实数A,B,C(-10000.0<=A,B<=10000.0,-20000.0<=C<=20000.0)
数据保证小数点后不超过4位。

输出
如果相等则输出Yes
不相等则输出No
样例输入
3
-11.1 +11.1 0
11 -11.25 -0.25
1 2 +4
样例输出
Yes
Yes
No

程序代码:
#include"stdio.h"
int main()
{
    int n;
    float a,b,c;
    scanf("%d",&n);
    while(n--)
    {
        scanf("%f %f %f",&a,&b,&c);
        if(a+b==c)
            printf("Yes\n");
        else
            printf("No\n");
    }
    return 0;
}

不知道该怎么改
搜索更多相关主题的帖子: 小数点 测试 数据 
2012-06-10 22:14
demonleer
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:483
专家分:1225
注 册:2012-6-4
收藏
得分:0 
判断浮点数相等可以这样:

#define E 0.00001

不要直接跟0比较,你可以在精度允许的范围内把两个浮点数的差跟E做比较,如果差的绝对值小于E,则可以判断相等。
2012-06-10 22:32
love24114
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:223
专家分:399
注 册:2011-7-11
收藏
得分:0 
puts(a+b-c<0.00001?"yes":"no");
//一般是0.00000001,这题特殊
2012-06-10 23:00
mey
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:137
专家分:134
注 册:2009-11-19
收藏
得分:0 
以下是引用demonleer在2012-6-10 22:32:43的发言:

判断浮点数相等可以这样:

#define E 0.00001

不要直接跟0比较,你可以在精度允许的范围内把两个浮点数的差跟E做比较,如果差的绝对值小于E,则可以判断相等。

谢谢..AC了
2012-06-11 05:56
予惟2012
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2012-2-12
收藏
得分:0 
学习 了
2012-06-11 10:31
快速回复:怎么判断两个浮点数相加是否等于另一个浮点数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017801 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved