0

在此处输入图像描述

我的函数的作用是获取利润(声明为 fieldProfit 的函数)和字段分数(声明为 fieldScore 的函数)的值;如果两者都高于 10,那么您将获得徽章,因此,innerbadge = 1。但是,还必须满足另一个条件,字段或 (x, y) 坐标必须落在阴影所示的区域中在中间有一个洞的盒子里。我已经为它编写了代码,我只是想确保我的逻辑/语法是正确的!任何帮助表示赞赏!

这是我的代码:

int badgeInnerCircle(int x, int y) {
   double fprofit, fscore;
   int innerbadge;

   if ((x >= 1 && x <= 20) && (y >= 1 && y <= 20)) {
      if (((x == 7 || x == 8) && (y >= 7 && y <= 14)) || ((x == 13 || x == 14)
         && (y >= 7 && y <= 14)) || ((x >= 7 && x <= 14) && (y == 7 || y == 8))
            || ((x >= 7 && x <= 14) && (y == 13 || y == 14))) {
         fprofit = fieldProfit(x, y);
         fscore = fieldScore(x, y);
         if (fprofit >= 10 && fscore >= 10) {
            innerbadge = 1;
         }
         else {
            innerbadge = 0;
         }
      }
   }
   else {
      innerbadge = -1;
   }
   return innerbadge;
}
4

1 回答 1

0

不,您的代码不正确。

int innerbadge;

if (condition) {
  if (condition) {
    if (condition) {
      innerbadge = 1;
    }
    else {
      innerbadge = 0;
    }
  }
  //else unidentified!
}
else {
  innerbadge = -1;
}

您应该将初始化更改为“int innerbadge = 0;” 或适当的东西

于 2013-10-24T11:00:55.030 回答