語法書 / AA 競程語法書 上冊 / 第六單元 / 完整範例:解決陣列的介紹題

6.2 完整範例:解決陣列的介紹題

現在我們知道陣列的語法了,讓我們用陣列實際解題。

範例程式碼

#include <iostream>
using namespace std;
int main() {
    // 開一個大小夠大的陣列來儲存數列元素
    // 題目 N ≤ 10^5,所以開 100001
    long long a[100001];

    int N;
    cin >> N;                      // 讀入數列長度
    for (int i = 1; i <= N; i++) {
        cin >> a[i];               // 把輸入儲存在 a[1]~a[N]
    }

    int Q;
    cin >> Q;                      // 讀入詢問數量
    while (Q--) {                   // 重複 Q 次
        int k;
        cin >> k;                  // 讀入要查詢的位置
        cout << a[k] << '\n';      // 直接輸出 a[k]
    }

    return 0;
}

執行結果(範例輸入):

輸入:
5
10 20 30 40 50
3
1
3
5

輸出:
10
30
50

動手試試看:把第 7 行的迴圈條件改成 i = 0; i < N; i++,改用 a[0]~a[N-1] 儲存。記得也要改動查詢時的代碼。執行看看結果是否一致。