cin输入字符串怎么结束_【C++】读取不定数量的输入数据

在ACM模式的在线笔试中,处理以空格分隔、换行结束的多组输入数据是个挑战。传统的cin输入法在遇到空格时不会结束,需要使用Ctrl+D作为文件结束符。但在线笔试通常要求以换行结束输入。通过理解键盘输入缓冲区的工作原理,可以利用getchar()函数截获空格,当遇到换行符时结束输入。这样,就能实现读取不定数量的输入数据直到遇到换行符。
摘要由CSDN通过智能技术生成

点击上方蓝字关注我,我们一起学编程欢迎小伙伴们分享、转载、私信、赞赏

现在大部分企业的在线笔试都是采用的 ACM 模式,也就是我们需要自己处理输入输出信息。一种比较难的是不定数量的输入。一般系统给的多个输入数据都是以空格分隔,以换行结束

下面我们就来看一下传统的写法有什么问题:

#include 

using namespace std;

int main(){
    int n;
    vector<int> nums;

    cout <"Input:" <endl;

    while (cin >> n) {
        nums.push_back(n);
    }

    cout <"\nOutput:" <endl;

    for (auto num : nums) {
        cout <" ";
    }

    cout <endl;

    return 0;
}

/*
编译运行:
jincheng@DESKTOP-42T69DJ:/mnt/e/LinuxSubSysFile$ g++ test.cpp
jincheng@D
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值