2011-11-01 133 views
-6

我們假設我有一個包含6個元素的數組,我想將它們分成組。 每組應有3個元素。在循環中打印數組元素

我只有這個示例代碼,試圖解釋什麼,我需要做的

int main(int argc, char *argv[]) 
{ 
    char array[6]; 


    Group 1: array[0],array[1],array[2] 

    Group 2: array[3],array[4],array[5] 


    system("PAUSE"); 
    return 0; 
} 

因此,大家可以看到,Group 1需要數組的前三個元素,Group 2需要在未來3個元素。

我需要做一個循環,因爲我實際上不知道數組中的元素數量。他們可能只有3或6或9或12或更多(但我知道如果元素實際增加,元素增加3)。

所以基本上我需要一個循環,它遍歷數組中的每個3元和printf他們作爲Group %d

+2

提示:所以,你知道多少「的3組」那裏應該是。拿起一張紙並寫出來:對於組0(從0開始)索引是......組1 ....開始看到一個模式?也就是說,羣組號碼如何與指數相關? – Bart

+0

**主持人備註** _與當前問題無關的意見已被刪除,因爲他們退化爲一羣噪聲,由於評論標記,這些噪音很快就會變得更加不連貫。請在 –

回答

4
assert(length % 3 == 0); 
for (int i = 0 ; i < length: i += 3){ 
    printf("%c %c %c \n", array[i], array[i + 1], array[i + 2]); 

} 
+0

是的,但是對等體指定數組的長度應該是3的倍數。 – Zonko

+0

之前用'assert(length%3 == 0)'保留主題和建設性的建議._ – Heisenbug

+0

這正是爲什麼斷言是合適的 - 以確保滿足要求。 –