繁体   English   中英

从 C++ 中的向量打印数字列表

[英]Printing a list of numbers from a vector in C++

我正在尝试编写一个程序,要求用户输入整数并将它们放入向量中,直到用户给出的整数为 0。然后它应该打印向量中的整数。

这是我的代码:

#include <iostream>
#include <vector>

using namespace std;
template <typename A>

void print_numbers(const vector<A> &V){
    cout << "The numbers in the vector are: " << endl;
    for(int i=0; i < V.size(); i++)
        cout << V[i] << " ";
}

int main() {

    vector<int> numbers;
    int input;

    cout << "Please type your numbers" << endl;
    cin >> input;
    while ((cin >> input) && input != 0)
        numbers.push_back(input);

    print_numbers(numbers);


    return 0;
}

它打印除第一个整数之外的所有内容。 有任何想法吗?

您的第一个输入未存储到数字向量中。 你有

cin >> input;

然后直接之后

while ((cin >> input) && input != 0)
   numbers.push_back(input);

这意味着您将第一个数字存储到 input 中,然后通过在 while 循环中执行 cin >> input 直接重写它,而不在第一个输入上调用 push_back 函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM