2016-11-24 82 views

回答

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)); 
} 
+0

它的工作原理。谢谢你,任何方式 –

1

您可以使用一个循环:

#include <iostream> 

int main() 
{ 
    int numbers[10]; 
    for (int i = 0; i < 10; ++i) 
     std::cin >> numbers[i]; 
} 

UPDATE:

如果它必须是一行那么你可以使用这个(有点笨拙的解决方案):

#include <iostream> 

int main() 
{ 
    int numbers[3]; 
    std::cin >> numbers[0] >> numbers[1] >> numbers[2]; 
} 

或者,您可以使用std::cin.getline然后解析字符串。

UPDATE(再次):

#include <iostream> 

int main() 
{ 
    int numbers[3]; 
    int* input = numbers; 
    while (std::cin >> *input++ and input != 3 + numbers) ; 
} 
+0

我需要在CIN上取一行。就像cin >> a,b,c,.... –

+0

它总是10个元素吗? – Jonas

+0

是的。我有一个固定的数组。不是10但可能更多。但正如我所说,在拨打电话CIN –

相关问题