c++ - C++中的 vector 重复打印输入

标签 c++

我的代码应该接受以“|”结尾的用户的输入并使用 while 循环打印出一个 vector 。

#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 循环之外。现在对于每个输入值,它将打印出整个 vector 。仅当您完成为程序输入数字时才会打印。

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

关于c++ - C++中的 vector 重复打印输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45201996/

相关文章:

c++ - 在 Windows 资源管理器中复制文件夹

c++ - 谁能告诉我我用getline格式化(cpp)出错了

c++ - 整数文字末尾的 "L"是什么意思?

c++ - 转换为 void* 并返回 Original_Data_Type*

c# - 带字符的 Marshall 结构

c++ - 为什么 gcc 和 clang 会为成员函数模板参数生成非常不同的代码?

c++ - 运行时 "can' t 找到虚拟表的链接器符号的原因可能是什么...“Qt 中的错误?

c++ - Xcode 8.3 : Run target with input from file

c++ - 为什么 fclose 不将文件指针设置为 NULL?

C++ 打印集合列表