从 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);
这意味着您将第一个数字存储到输入中,但随后通过在 while 循环中执行 cin >> input 直接覆盖它,而不是在第一个输入上调用 push_back 函数。
我正在尝试编写一个程序,要求用户输入整数并将它们放入向量中,直到用户给出的整数为 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);
这意味着您将第一个数字存储到输入中,但随后通过在 while 循环中执行 cin >> input 直接覆盖它,而不是在第一个输入上调用 push_back 函数。