zoukankan      html  css  js  c++  java
  • 【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 << '
    ';
        }
    }
  • 相关阅读:
    python web 2
    python web1(解析url)
    webstrom 今天突然要激活
    数组排序 记录一下
    浏览器添加随机数去除缓存
    vue-cli 安装报错
    vue 初始化项目报错
    深拷贝和浅拷贝
    css3 属性 clip-path
    js数组去重
  • 原文地址:https://www.cnblogs.com/yatesxu/p/5841571.html
Copyright © 2011-2022 走看看