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] 儲存。記得也要改動查詢時的代碼。執行看看結果是否一致。