想像一下…
考慮以下題目(課堂投影片的開場題):
用以前的知識,這題怎麼寫?
規則簡單到不行——但要印的第一個數,是最後一個讀進來的:開始輸出之前,整串數列都得記著。如果題目固定 N = 3,你可能這樣寫:
int a1, a2, a3; // 宣告三個變數
cin >> a1 >> a2 >> a3;
cout << a3 << " " << a2 << " " << a1; // 倒著印
但 N 不是固定的 3——上限是 100,而且是執行時才讀進來的。你得宣告 100 個名字不同的變數,讀入時用 100 層 if 控制「讀到第幾個」,倒著印又是另外 100 層。硬寫寫得出來,但程式碼隨上限爆炸成長,題目上限一改就整份重寫。
癥結在於:需要一口氣記住一整串資料,之後還要按編號把它們翻出來用。
這時,陣列就派上用場了。陣列讓你用一個名稱和數字索引管理大量資料。