2015-11-11 59 views
2

我在試圖找出打印數組中某些數字的方法時遇到了一些困難。我有一個數組[0,1,2,3,4,5,6],我想打印數字0,1,4,5。是否有可能創建一個循環,可以讀取前兩個數字跳過接下來的兩個數字並讀取以下兩個數字。在C中打印2個數字並跳過2個數字

+0

是否有特定的語言你目標是? –

+0

即時編程在c –

回答

5

您可以簡單地使用模操作上當前索引檢查這個號碼屬於「印刷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步重複一次。

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 
    } 
} 

只要改變跳到設置的時間間隔的值,並設定print = false,如果你想它跳過第一skip