c++ 如何在一行中获取用户的多个输入

uttx8gqw  于 2023-08-09  发布在  其他
关注(0)|答案(4)|浏览(116)
5
1 2 3 4 5

字符串
第一行是用户将给予多少输入。第二行是来自用户的输入。基本上是“c >> a >> b >> c;“但用户需要多少输入取决于他们。

b1uwtaje

b1uwtaje1#

答案很简单。读取一个intn,表示元素的数量,然后声明一个std::vector<int>,并在循环中读入n元素,将每个元素都推到向量上。这可以通过显式for循环或使用STL函数来完成。

w9apscun

w9apscun2#

std::vector中读取输入并存储很简单。您可以通过将n传递给其构造函数来调整向量的大小以容纳n元素。然后,您可以像读取普通数组一样读取std::vector

#include <vector>
#include <iostream>

int main()
{
    int n;
    std::cin >> n;
   
    std::vector<int> v(n);
    for (int i = 0; i < n; i++)
        std::cin >> v[i];
    
    for (int i = 0; i < n; i++)
        std::cout << v[i] << std::endl;
}

字符串

cbjzeqam

cbjzeqam3#

我倾向于使用std::vector而不是任何其他数据类型。

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>

int main()
{
  std::vector <int> xs;

  int n;
  std::cin >> n;

  // method 1
  std::copy_n( std::istream_iterator <int> ( std::cin ), n, std::back_inserter( xs ) );

  // method 2
  int x; while (n--) { std::cin >> x; xs.push_back( x ); }

字符串
总的来说,你的目标不应该是“一条线”,而是正确和简洁地做事情,正确性优于简洁性。

5t7ly7z5

5t7ly7z54#

#include <iostream>

int main() {
    int n;
    std::cout << "Enter n ";
    std::cin >> n;

    int inputUser[n];
    for (int i = 0; i < n; i++)
        std::cin >> inputUser[i];
        
    for (int i = 0; i < n; i++)
        std::cout << " "<<inputUser[i];
    return 0;
}

字符串

相关问题