【问题标题】:print 2 numbers and skip 2 numbers in an array in C在 C 中的数组中打印 2 个数字并跳过 2 个数字
【发布时间】:2015-11-11 04:51:03
【问题描述】:

我在尝试找出一种在数组中打印一些数字的方法时遇到了一些困难。我有一个数组[0,1,2,3,4,5,6],我想打印数字 0,1,4,5。是否可以创建一个循环来读取前两个数字,跳过接下来的两个数字并读取后面的两个数字。

【问题讨论】:

  • 您是否针对特定语言?
  • 我目前正在用 c 编程

标签: c arrays loops


【解决方案1】:

你可以简单地对当前索引使用模运算来检查这个数字是属于“打印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]);
}

所以,i 等于 0 和 1,它将输出值。对于i == 2i == 3,条件将结果为假。接下来需要4,4 % 4为0,每4步重复一次。

【讨论】:

    【解决方案2】:

    伪代码:

    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 的值以设置间隔,如果您希望它跳过第一个 skip 条目,请设置 print = false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-01
      • 2017-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-07
      • 1970-01-01
      相关资源
      最近更新 更多