我有一个函数,如果获得特定的“徽章”或“成就”,则返回 1,如果未获得“徽章”,则返回 0,如果 x 和 y 不在区间 [1 , 20]。
为了让函数返回一个 1,或者换句话说,为了获得一个徽章,该字段必须支持一年四丰收(但不支持五丰收)
必须满足的第二个条件是每年累计种植成本在 190 到 250 单位之间。
第三个条件是该领域必须带来利润。
注意:我已经有了这些预定义的函数,可以用来帮助我编写这段代码:
我已经知道我的代码在第一个和第二个条件下可能存在问题,但我只是不知道如何将这些条件转换为我的代码。
这是我的代码:
#include <stdio.h>
#define YEAR 360
#define FULLHARVESTS 4.0
int badgeInQuattro(int x, int y) {
double harv, annucost, fprofit, harvyear;
int quattrobadge;
if ((x >= 1 && x <= 20) && (y >= 1 && y <= 20)) {
harv = harvestTime(x, y);
annucost = pricePerUnit(x, y);
fprofit = fieldProfit(x, y);
harvyear = (YEAR)/(FULLHARVESTS);
if (harv == harvyear && annucost > 190 && annucost < 250 && fprofit > 0) {
quattrobadge = 1;
}
else {
quattrobadge = 0;
}
}
else {
quattrobadge = -1;
}
return quattrobadge;
}
任何帮助是极大的赞赏!