【C++】標準入力の書き方

標準入力の書き方

AtCoderの初心者向け問題を解きながら、いきなり標準入力の受け取り方で詰まったのでメモしておく。

入力

例えば、以下のように標準入力から与えられる値を受け取りたい時を考える。(AtCoder Beginners Selectionrの「Shift only」)

3
8 12 40

コード

以下のように書けばいいらしい。

#include <iostream>

int main() {
    int n;
    std::cin >> n;

    int l, i = 0, a[n];
    while (std::cin >> l) {
        a[i] = l;
        i++;
        if (i >= n) {
            break;
        }
    }

    std::cout << n << std::endl;
    for (int i=0;i<n;i++){
        std::cout << a[i] << std::endl;
    }

    return 0;
}

結果

3
8
12
40