我的函数遇到了一些问题,当我回顾我的代码时,我记得我不太确定我是否正确翻译了这个数学公式。
注意:如果参数 x 和 y 不在 [1, 20] 区间内,则函数应返回 -1。
这是我为该函数编写的代码:
double irrigationExposure(int x, int y) {
double denominator, fraction, waterexp, wexp;
if (x >= 1 && x <= 20 && y >= 1 && y <= 20) {
denominator = (1 + (abs(x - y)))* (1.0);
fraction = ((IRRIEXPONUM)/(denominator));
waterexp = (fraction) + (2);
if (waterexp <= 10) {
wexp = waterexp;
}
else {
wexp = 2.0;
}
}
else {
wexp = -1.0;
}
return wexp;
}
最佳答案
考虑到你希望最大值为10,那么
if (waterexp <= 10) {
wexp = waterexp;
}
else {
wexp = 2.0;
}
}
应该是
if (waterexp <= 10) {
wexp = waterexp;
}
else {
wexp = 10.0;
}
}
否则,如果 waterexp > 10
,您的答案将是 2,而不是 10。
关于c - 这是将此数学公式转换为 c 函数的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19443248/