gpt4 book ai didi

c - C 是否具有可以测试值是否在预期值的容差范围内的函数,如果不是,我该如何创建一个函数?

转载 作者:行者123 更新时间:2023-11-30 20:29:03 25 4
gpt4 key购买 nike

我是 C 语言新手,最近我有一项有趣的作业,与科学数字有关。

任务是实现几个将重量单位转换为其他单位的函数,然后比较不同的重量单位。

我的代码按我的预期工作,但是由于使用 1e+6 等科学数字进行计算我的 if 比较失败了他们的任务。

假设我有:A=1公斤

B = 2.2046226218 磅

在比较它们之前,我将 A 转换为磅。

但是数据丢失,1 千克不等于 2.2046226218 磅

后面的代码:if(a == b)//=> 返回 false

然而,这不是代码应该如何工作的。

因此,我的想法是实现以下功能。

类似这样的事情:

bool inToleranceRange( a , b , tolerance_range){ // returns true if a is in + || - tolerance range of b
//TO DO
}

// later in code

int value = inToleranceRange(a, b, 1);
if( value == 1){
printf("\na is equal to b");
}

在开始之前,我想问一下 C 中的标准库是否提供了完成此任务的函数?如果没有,您会建议我如何继续?

最佳答案

bool inToleranceRange(double a, double b, double tolerance_range) {
// returns true if a is in + || - tolerance range of b
return (fabs(a-b) <= fabs(tolerance_range));
}

需要#include <math.h> .

关于c - C 是否具有可以测试值是否在预期值的容差范围内的函数,如果不是,我该如何创建一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59147011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com