正如我在说明中提到的,除了有效性检查/变量保护检查之外,我需要在不使用任何 if 语句的情况下编写此函数。但是我无法确定我的代码是否符合这个规范。如果我的代码不起作用,我将如何在不使用禁止的 if 语句的情况下编写它?
这是问题所在:
这是我的代码:
int badgePoly(int x, int y) {
int mavenbadge, incirclebadge, herobadge, weatherbadge, inquattrobadge,
bronzebadges, polybadge;
if ((x >= 1 && x <= 20) && (y >= 1 && y <= 20)) {
mavenbadge = badgeBoundaryMaven(x, y);
incirclebadge = badgeInnerCircle(x, y);
herobadge = badgeLocalHero(x, y);
weatherbadge = badgeBoringWeather(x, y);
inquattrobadge = badgeInQuattro(x, y);
bronzebadges = mavenbadge + incirclebadge + herobadge + weatherbadge +
inquattrobadge;
if (bronzebadges >= 2) {
polybadge = 1;
}
else {
polybadge = 0;
}
}
else {
polybadge = -1;
}
return polybadge;
}
注意:mavenbadge、incirclebadge、herobadge、weatherbadge 和 inquattrobadge 是您可以在一个领域 (x, y) 获得的所有不同类型的青铜徽章;而青铜徽章只是所有这些的总和,以找到字段 (x, y) 中的青铜徽章总数。