所以我试图弄清楚如何根据输入分配多个索引。让我们说输入是:
9 10 11 12 13
我希望计算机创建一个包含列表中数字的数组;在这种情况下,这里有5个数字。我希望代码创建一个数组,并使其总共有5个元素/索引。
我该怎么做?
[注意:不会总是有5个数字,可能有任意数量的数字]
答案 0 :(得分:1)
您可以使用std::getline
从程序输入流中读取,然后创建新流并将字符串拆分为' '
,您可以使用std::stoi
将输入转换为int
s:
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
int main()
{
std::string input;
std::getline(std::cin, input);
std::stringstream inputStream(input);
std::string line;
std::vector<int> numericResults;
while(std::getline(inputStream,line,' ')) {
numericResults.push_back(std::stoi(line));
}
}
或者,因为你的分隔符是一个空格,你可以按照@ user4581301的建议简化循环:
int numericResult;
std::vector<int> numericResults;
while(inputStream >> numericResult) {
numericResults.push_back(numericResult);
}