z****e 发帖数: 2024 | 1 3
123 43 8
34 4
34 509 2
第一行是总行数
以下每一行都是用空格隔开的整数,但是每一行整数的个数可以不相等,把每一行读入
一个vector里边。
屏幕键盘输入,如何写?
如果要求是stdin,又是什么意思?只能屏幕键盘输入?
多谢 |
d****p 发帖数: 685 | 2 现在看这么简单的题了?
std::cin >> numOfLines; // an int
for (int i = 0; i < numOfLines; ++i)
{
std::cin >> aLine; // a std::string
parseLineAndFillVector(aLine, );
}
【在 z****e 的大作中提到】 : 3 : 123 43 8 : 34 4 : 34 509 2 : 第一行是总行数 : 以下每一行都是用空格隔开的整数,但是每一行整数的个数可以不相等,把每一行读入 : 一个vector里边。 : 屏幕键盘输入,如何写? : 如果要求是stdin,又是什么意思?只能屏幕键盘输入? : 多谢
|
z****e 发帖数: 2024 | 3 还是要自己写个parser啊。
【在 d****p 的大作中提到】 : 现在看这么简单的题了? : std::cin >> numOfLines; // an int : for (int i = 0; i < numOfLines; ++i) : { : std::cin >> aLine; // a std::string : parseLineAndFillVector(aLine, ); : }
|
z****e 发帖数: 2024 | 4 你这个是错的。
你自己试试就知道了。
【在 d****p 的大作中提到】 : 现在看这么简单的题了? : std::cin >> numOfLines; // an int : for (int i = 0; i < numOfLines; ++i) : { : std::cin >> aLine; // a std::string : parseLineAndFillVector(aLine, ); : }
|
g*********s 发帖数: 1782 | 5 你这个看着像面试题啊。
string s;
bool first_line(true);
int line_count (0);
while (getline(cin, s)) {
stringstream ss(s);
int num;
vector v;
if (first_line) {
ss >> num;
line_count = num;
}
else {
while (ss >> num)
v.push_back(num);
// process v;
}
}
【在 z****e 的大作中提到】 : 3 : 123 43 8 : 34 4 : 34 509 2 : 第一行是总行数 : 以下每一行都是用空格隔开的整数,但是每一行整数的个数可以不相等,把每一行读入 : 一个vector里边。 : 屏幕键盘输入,如何写? : 如果要求是stdin,又是什么意思?只能屏幕键盘输入? : 多谢
|