今天遇到这样类型的输入:
3
1 2 3 4
1 2 3 4 5
1 2 3
第一行2表示后面有三行,后面三行每行长度不固定...每一行都是一个案例。
对C++输入不太熟悉,没找到什么好办法,就像Java一样读整行。首先,cin >> n,注意
输入为3(返回车辆),然后读完返回车辆后,cin将其视为分隔符,并将3输入n,但返回车辆仍然存在,因此需要再次获得(cin, s),吃掉这辆回车。
使用stringstream, 默认情况下,将其输入到s中作为空格分开。
如果输入为3(空格)(返回车辆),则存储3,并在遇到空格时输入n,但空格和返回车辆仍然存在,因此cout代码中的s是一个空格,可以自行测试。
#include <iostream>using namespace std;int main() { int n; cin >> n; string s; getline(cin, s); cout << "a" << s << "b"; while(n--) { getline(cin, s); cout << s << endl; } return 0;}