用c ++ - CIN得到几个整数,并将它们放入数组

时间:2016-11-24 13:21:03

标签: c++ arrays input cin

我需要得到几个整数并将它们放入c ++中的数组中 假设CIN中的数字计数与数组长度相同。

int numbers[10];
cin>>numbers;

实际上我想在一行内输入10个数字cin以某种方式自动将数字分配给数组。我应该怎么做?

2 个答案:

答案 0 :(得分:2)

以下是使用std::vectorstd::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) ;
}