CPP if elseif语句问题

时间:2013-12-01 21:34:57

标签: c++

h值可以在0 <400之间或更高,下面的编码练习看起来很乏味......有没有更好的想法?

if (h<=40) {
  nOfRound = 1;
} else if (40<h<=80) {
  nOfRound = 2;
} else if (80<h<=120) {
  nOfRound = 3;
} else if (120<h<=160) {
  nOfRound = 4;
} else if (160<h<=200) {
  nOfRound = 5;
} else {
  qDebug() <<"too big";
  nOfRound = 6;
}

1 个答案:

答案 0 :(得分:3)

像这样:

if (h <= 200) { nOfRound = h / 40 + 1; }
else          { nOfRound = 6; qDebug << "too big"; }

(注意,除以常数实际上非常有效,因为它通常通过(快速)乘法而不是动态除法来实现。)