简化if语句的算法

时间:2014-09-18 11:16:10

标签: c algorithm

我有一系列if语句在一个位置填充数组myArray,该位置取决于值y所在的范围(x的倍数)。

我想知道是否有一种更简单的方法可以根据off的值将x添加到正确的Array元素中。 x是我迭代的当前columnrow的函数。

for(int i = 0; i< rows; i++)
{
 for(int j = 0; j< cols; j++)
 { 
  x = getX(i, j);
  if(x < y * 1  &&  x => 0)
   MyArray[0] += off;
  if(x < y * 2  &&  x >= y * 1)
   MyArray[1] += off;
  if(x < y * 3  &&  x >= y * 2)
   MyArray[2] += off;
  if(x < y * 4  &&  x >= y * 3)
   MyArray[3] += off;
  if(x < y * 5  &&  x >= y * 4)
   MyArray[4] += off;
  }
 }

1 个答案:

答案 0 :(得分:4)

我假设每个if语句中的两个条件中的一个条件具有'='(&lt; =或&gt; =)。然后你可以尝试类似的东西:

int ratio = x/y;
if (ratio >= 0 && ratio < 5)
    MyArray[ratio] += off;