c ++中的向量打印重复输入

时间:2017-07-19 22:19:36

标签: c++

我的代码应该以“|”结尾的用户输入并使用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

请帮忙

1 个答案:

答案 0 :(得分:1)

你需要把你的for循环放在while循环之外。现在,对于每个输入值,它将打印出整个矢量。只有在完成为程序输入数字后才会打印。

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