- 读取以空格隔开的字符串并存入数组中
- 解决
- 读取m行这样的数据并存入数组中
- 解决
C++处理输入数据时,遇到一种情况,一行由空格隔开的字符串,如下:
cpp python java
解决
#include#include #include using namespace std; int main() { vector res; string line, t; getline(cin, line); stringstream linestream; linestream.str(line); while (linestream >> t) res.push_back(t); for (int i = 0; i < res.size(); i++) { cout << res[i] << " "; } return 0; }
运行结果
输入:
cpp java python
输出:
读取m行这样的数据并存入数组中
输入如下数据,每行数量不定的字符串:
4 //表示4行数据
cpp java python
python
java cpp
java
将结果读入二维数组中
解决
#include#include #include using namespace std; int main() { int m; cin >> m; vector > res(m); cin.get(); //注意,cin读取数字m遇到'n'表象是忽略了,实际上将它读取了,但又放回到缓存中,所以使用cin.get()读走字符'n' while(m--) { vector vec; string line, t; getline(cin, line); stringstream linestream; linestream.str(line); while (linestream >> t) vec.push_back(t); res.push_back(vec); } // 二维数组打印 for(int i = 0; i < res.size(); i++) { for(int j = 0; j < res[i].size(); j++){ cout << res[i][j] << " "; } cout << endl; } return 0; }
运行结果
输入:
4
cpp java python
python
java cpp
java
输出:



