在C中打印2个数字并跳过数组中的2个数字

时间:2015-11-11 04:51:03

标签: c arrays loops

我试图找出一种在阵列中打印某些数字的方法有点困难。我有一个数组[ 0,1 ,2,3, 4,5 ,6],我想打印数字0,1,4,5。是否有可能创建一个循环,可以读取前两个数字,跳过接下来的两个数字并读取以下两个数字。

2 个答案:

答案 0 :(得分:5)

你可以简单地对当前索引使用模运算来检查这个数字是否属于" print 2"或"跳过2":

int a[17];
int length = sizeof(a) / sizeof(a[0]);

for (int i = 0; i < length; i++) 
{
    if (i % 4 < 2) 
        printf("%d ", a[i]);
}

因此,对于等于0和1的i,它将输出值。对于i == 2i == 3,条件将导致错误。接下来,它将需要4,4 % 4为0,它将每4步重复一次。

答案 1 :(得分:0)

伪代码:

arr = [0,1,2,3,4,5,6];
skip = 2;
print = true;

while(i < arr.length){
   for(j = 0; j < skip; ++j){
      if(print){
         output arr[i];
      }

      //increment array counter
      i++;

      //toggle print bool
      print = !print
   }
}

只需更改skip的值以设置间隔,如果您希望跳过第一个print = false条目,请设置skip