C++ 中的矢量重复输出输入

Vector in c++ printing input out repetitively

本文关键字:输出 输入 C++      更新时间:2023-10-16

我的代码应该从以"|"终止的用户那里获取输入,并使用while循环打印出一个向量。

#include <iostream>
#include <vector>
using namespace std;
int main() 
{
vector<int> numbers;
int number;
cout<<"Enter some numbers: ";
while(cin>>number) 
{
numbers.push_back(number);
for(int i=0;i<numbers.size();i++)
{
cout<<numbers[i]<<" ";
}
}
return 0;
}

但是,假设我输入了以下值:1 2 3 4 |

输出为:1 1 2 1 2 3 1 2 3 4

请帮忙

你需要把你的 for 循环放在 while 循环之外。现在,对于每个输入值,它将打印出整个向量。仅当您完成程序的输入数字时,才会打印。

while(cin>>number) 
{
numbers.push_back(number);
}
for(int i=0;i<numbers.size();i++)
{
cout<<numbers[i]<<" ";
}
return 0;