C++ I/O流输入数字以逗号间隔/常规输入

逗号间隔输入

输入格式

1
1,2,34,567

1
1, 2, 34, 567

使用 cin 根据数据的类型以及分隔符自动对数据进行输入。使用 cin.get() 读取分隔符并舍弃

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <vector>

using namespace std;

int main()
{
int temp;
vector<int> res;
while (1)
{
cin >> temp;
res.push_back(temp);
if (cin.get() == '\n')
break;
}
for (auto p : res)
cout << p << " ";
return 0;
}

常规输入

输入格式

1
2
3
4
5
2
2
1 2
3
0 2 3

第一行为数列行数,第二行为数列中元素的个数,第三行为各元素的值,依次类推

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <vector>

using namespace std;

int main()
{
vector<vector<int>> res;
int n;
cin >> n;

for (int i = 0; i < n; i++)
{
int length;
cin >> length;
vector<int> line;
int temp;
while (1)
{
cin >> temp;
line.push_back(temp);
if (cin.get() == '\n')
break;
}
res.push_back(line);
line.clear();
}
}