当前位置: 首页 > 图灵资讯 > 技术篇> C++ 刷题输入总结:输入n行不固定长度的数字

C++ 刷题输入总结:输入n行不固定长度的数字

来源:图灵教育
时间:2023-06-11 09:14:35

今天遇到这样类型的输入:

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;}