如何在for循环中检查“i”达到一定值

时间:2014-01-29 09:13:23

标签: c++

我正在寻找一个代码,当i ==某个值时,在for循环中执行某些操作。

   for(int i=0; i<n; i++)
    {
        if (i == 300 or i == 600 or i == 900 or i == 1200 .... ) 
             // then do some action

          else 

            // do some other action .... 
    }

如何查看此(i == 300 or i == 600 or i == 900 or i == 1200 .... )

4 个答案:

答案 0 :(得分:15)

使用余数modulus operator %如果300始终可以整除,则可以避免使用n个||条件。

for(int i = 0; i<n; i++)
{
    if (i % 300 == 0) 
         // then do some action    
      else     
        // do some other action .... 
}
  

%运算符在除去第一个操作数后计算余数   到了第二个。所有数字类型都有预定义的余数运算符MSDN

答案 1 :(得分:0)

  

我如何检查这个(i == 300或i == 600或i == 900或i == 1200 ....)

像这样:

if (i == 300 || i == 600 || i == 900 || i == 1200 .... )

条件OR运算符将计算第一个语句,如果为true,则整个语句的计算结果为true,其余操作数不计算。

答案 2 :(得分:0)

这里有许多好的解决方案。另:

for(int i=0; i<n; i++)
{
    switch(i)
    {
       case 300:
       case 600:
       case 900:
       case 1200:
           // take action
       break; // done with positive cases

       default:
          // this is the 'else' side of your check
       break;
    } // switch
}

答案 3 :(得分:-2)

更简单的解决方案是知道,当它是300的倍数时:

for (int i = 0; i < n; i += 300)
{
  // Some action
  for (j = 1 ; j < n-i; ++j)
  {
    // Other action
  }
}