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