標準入力の書き方
AtCoderの初心者向け問題を解きながら、いきなり標準入力の受け取り方で詰まったのでメモしておく。
また、参考URLに示した記事だといつまでも入力待ちになってしまうので、そこを改善した。
##入力
例えば、以下のように標準入力から与えられる値を受け取りたい時を考える。(AtCoder Beginners Selectionrの「Shift only」)
3
8 12 40
コード
以下のように書けばいいらしい。
main.cpp
#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
## 参考文献
競プロ等におけるC++の標準入力