• 【C++】输入多行数字到数组


    前天做某公司笔试题的时候,其输入格式是多行数字,每行以空格为分隔符,以换行符号为结束输入到多个数组。在JAVA中有相应的函数直接将一行拆成数组,感觉在C++中这中输入方式还是挺奇怪的,今天想出一种解决方式。

    思路:

    每次读入一个字符,判断是不是EOF,如果是的话跳出循环;

    不是EOF将字符放回缓冲区;

    读入换行符,说明一行结束,处理数组;

    读入字符,如果不是空格,存入一个临时的字符串;

    如果是空格,字符串转换成整数并压入数组;

    注意:

    对于连续的空格输入要进行判断,否则会输入一堆0;

    在读入换行符的时候要将最后的临时字符串存进数组;

    代码:

    #include<iostream>
    #include<string>
    #include<vector>
    #include<cstdlib>
    using namespace std;
    
    int main() {
        char flag;
        while ((flag=getchar())!=EOF) {
            putchar(flag);
            string tmpStr;
            vector<int> buff;
            char c;
            while ((c = getchar()) != '
    ') {
                if (c != ' ')
                    tmpStr.push_back(c);
                else {
                    if (tmpStr != "") {
                        buff.push_back(atoi(tmpStr.c_str()));
                        tmpStr = "";
                    }
                }
            }
            if(tmpStr!="")
                buff.push_back(atoi(tmpStr.c_str()));
            for (auto a : buff)
                cout << a << ' ';
            cout << '
    ';
        }
    }
  • 相关阅读:
    [poj解题]1017
    [算法] aov图拓扑算法
    【supervisord】部署单进程服务的利器
    【python】一个备份把文件备份到邮箱的python实现
    【GO】关于GO的浅显总结
    iOS开发快捷键
    iOS开发笔记
    VS2012智能提示无效解决方案
    国内几个WindowPhone广告平台
    纪念自己的第四个App:秘密Secret
  • 原文地址:https://www.cnblogs.com/yatesxu/p/5841571.html
Copyright © 2020-2023  润新知