对于不同问题的输入方式不同,有的一边输入数据一边处理,有的输入完成后再处理数据;有的输入的数据量已知,有的输入的数据量未知…
1、输入若干数据,输入一个处理一个,有结束标志
e.g.输入若干数求和,以0作为结束标志
int sum = 0;
int val;
while (cin>>val && val!=0){
sum += val;
}
2、输入若干数,输入一个处理一个,无结束标志
e.g.输入若干数求和
int sun = 0;
int val;
while (cin >> val){ //默认流结束标志 CTRL+C
sun += val;
}
3、输入n个数字,n有范围,输入完后操作
int count = 0;
int a[max];
while (cin >> a[count++]);
4、输入若干数,输入完成后操作
int val = 0;
vector <int> v;
while (cin >> val){ //默认流结束标志 CTRL+C
v.push_back(val);
}
5、使用getline()函数输入一行
string str;
getline(cin, str);
6、输入一个数n,在输入n行(避免读取换行)
int n;
cin >> n;
cin.get(); //读取一个换行
while (n--){
getline(cin, str);
}