我需要得到几个整数并将它们放入c ++中的数组中
假设CIN
中的数字计数与数组长度相同。
int numbers[10];
cin>>numbers;
实际上我想在一行内输入10个数字cin
以某种方式自动将数字分配给数组。我应该怎么做?
答案 0 :(得分:2)
以下是使用std::vector
和std::copy_n
的C ++ 11解决方案。
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
int main()
{
std::vector<int> v;
std::copy_n(std::istream_iterator<int>(std::cin), 3, std::back_inserter(v));
}
答案 1 :(得分:1)
您可以使用循环:
#include <iostream>
int main()
{
int numbers[10];
for (int i = 0; i < 10; ++i)
std::cin >> numbers[i];
}
更新:
如果必须一行那么你可以使用它(有些笨拙的解决方案):
#include <iostream>
int main()
{
int numbers[3];
std::cin >> numbers[0] >> numbers[1] >> numbers[2];
}
或者,您可以使用std::cin.getline
然后解析字符串。
更新(再次):
#include <iostream>
int main()
{
int numbers[3];
int* input = numbers;
while (std::cin >> *input++ and input != 3 + numbers) ;
}