我的功能遇到了一些问题,当我回顾我的代码时,我记得我不太确定我是否正确地翻译了这个数学公式。
注意:如果参数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;
}
答案 0 :(得分:3)
考虑到您希望最大值为10,那么
if (waterexp <= 10) {
wexp = waterexp;
}
else {
wexp = 2.0;
}
}
应该是
if (waterexp <= 10) {
wexp = waterexp;
}
else {
wexp = 10.0;
}
}
否则如果waterexp > 10
您的答案是2,而不是10。