yggs11 2022-03-01 06:28 采纳率: 75%
浏览 376
已结题

判断实数相等,哪里有问题

问题遇到的现象和发生背景 由于实数有误差,因此判断两个实数“相等”时要考虑误差因素:当两个实数之差的绝对值小于指定的精度时,就认为它们“相等”,否x 和 y 是两个实数,若它们“相等”,则函数值为 1 (真),否则为 0 (假)则就认为它们“不等”

#include <stdio.h>
#include <math.h>

#define epsilon 1e-8

int RealEq(double x, double y);

int main()
{
double a, b;
scanf("%lg%lg", &a, &b);
if (RealEq(a, b))
{
puts("Yes");
}
else
{
puts("No");
}
return 0;
}

/* 你提交的代码将被嵌在这里 */
入口:int RealEq(double x, double y)

问题相关代码,请勿粘贴截图 int RealEq(double x, double y)

{
double a=x-y;
if(a>0&&a<=epsilon) return 1;
else if(a=0) return 1;
else if(a<0&&-a<=epsilon) return 1;
else return 0;
}

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 谛凌 2022-03-01 06:53
    关注

    if语句判断相等是两个等号:

    i```

    RealEq(double x, double y)
    {
    double a=x-y;
    if(a>0&&a<=epsilon) return 1;
    else if(a==0) return 1; //此处少一个等号
    else if(a<0&&-a<=epsilon) return 1;
    else return 0;
    }

    ```

    麻烦点个采纳~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?