C++实例输入多行数字到数组

 更新时间:2016年12月03日 14:30:05   作者:marcusxu  
这篇文章主要介绍了C++实例输入多行数字到数组的相关资料,这里提供实例代码帮助大家学习理解,需要的朋友可以参考下

 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()) != '\n') {
      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 << '\n';
  }
}


 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • C++结构体初始化的10种写法总结

    C++结构体初始化的10种写法总结

    这篇文章主要为大家详细介绍了10种C++中结构体初始化的写法,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • C++中求余运算符(%)示例详解

    C++中求余运算符(%)示例详解

    求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。看似很简单的运算符,却也真要掌握用好它也不容易,这篇文章主要介绍了C++中求余运算符(%)的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • C语言数据结构之复杂链表的拷贝

    C语言数据结构之复杂链表的拷贝

    复杂链表指的是一个链表有若干个结点,每个结点有一个数据域用于存放数据,还有两个指针域,其中一个指向下一个节点,还有一个随机指向当前复杂链表中的任意一个节点或者是一个空结点。今天我们要实现的就是对这样一个复杂链表复制产生一个新的复杂链表
    2021-11-11
  • 一文带你吃透C++继承

    一文带你吃透C++继承

    继承是C++语言的一个重要特性,继承使得软件(代码)复用变得简单、易行,可以通过继承复用已有的程序资源,缩短软件开发的周期,本就带大家吃透C++继承,需要的朋友可以参考下
    2023-06-06
  • C++类和对象深入探索之分文件编写点和圆的关系详解

    C++类和对象深入探索之分文件编写点和圆的关系详解

    先前把C++类和对象的封装讲完了,并且留下了一个判断两个立方体是否相等的案例,但是那么多知识点,仅仅一个案例是不够的,所以再来一个分文件编写点圆关系的案例;创建圆类和点类,圆类包含点类,算是一个嵌套吧,顺便复习一下分文件编写的方法,开整
    2022-05-05
  • C++ 实现输入含空格的字符串

    C++ 实现输入含空格的字符串

    这篇文章主要介绍了C++ 实现输入含空格的字符串,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • C++中浮点数、double类型如何与0值作比较详解

    C++中浮点数、double类型如何与0值作比较详解

    浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数,这篇文章主要介绍了C++中浮点数、double类型如何与0值作比较的相关资料,需要的朋友可以参考下
    2025-03-03
  • C++20中的std::span详解

    C++20中的std::span详解

    span就是一个连续对象存储的观察者,类似std::string_view是string的观察者,这篇文章主要介绍了C++20 std::span,需要的朋友可以参考下
    2023-03-03
  • C语言中isalnum()函数和isalpha()函数的对比使用

    C语言中isalnum()函数和isalpha()函数的对比使用

    这篇文章主要介绍了C语言中isalnum()函数和isalpha()函数的对比使用,都可以判断是否为字母但isalnum的判断还包括数字,需要的朋友可以参考下
    2015-08-08
  • 嵌入式C语言二级指针在链表中的应用

    嵌入式C语言二级指针在链表中的应用

    这篇文章主要为大家介绍了嵌入式C语言二级指针在链表中的应用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04

最新评论