標準入出力のやり方を毎回忘れるのでメモ.
入力
注意)cinよりscanfを使う方が速い。
cinを使う場合は以下を記した上で使わないとscanfよりだいぶ遅くなる。
cin.tie(0); ios::sync_with_stdio(false);
EOFまで.もしくはスペースまでの1回など
int n; while(cin >> n){ }
スペース区切りの複数の入力
int a, b; while(cin >> a >> b){ }
カンマ区切りの複数の入力
カンマを抜くためのchar型の変数を用意
int a, b; char c; while(cin >> a >> c >> b){ }
もしくは,
int a, b;
cin >> a;
cin.ignore();
cin >> b;
もしくは,カンマを空白に置き換えてしまう
getline(cin, str); replace(str.begin(), str.end(), ',', ' '); stringstream buf(str); for (int i = 0; i < 4; i++) { buf >> x >> y; }
文字列入力
空白ないし改行区切りのとき
#include <string> string s; cin >> s
(空白が入っていても)1行すべて読みたいとき
string s; getline(cin, s);
出力
桁数指定で出力するとき
小数第?位まで出力するとき
#include <iomanip> //小数第3位まで出力 double a; cout << fixed << setprecision(3) << a << endl;