C++多行输入不定个数数字

本文介绍了一种在C++中处理多行不定数量数字输入的方法,使用字符串处理和转换技巧,适用于在线笔试等场景。通过示例代码展示了如何正确读取并转换以空格分隔的数字数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++多行输入不定个数数字

引言

今天在做一个线上笔试的时候,碰到了一个让我觉得很有必要重视的关于C++输入的问题。通常我们处理一个数组的输入都会在知道数组大小的前提下进行。输入数据的个数未知的情况一般也出现在多行输入中每行输入的个数已知,输入次数(即到底有多少行)未知的情况。所以今天我碰到的是一个两行的数组输入,不过每行的个数未知的情况。在我的个人习惯下,遇到多个数的输入时,不愿意用字符的形式去读取它们,可最后想想,发现这个情况只能以字符串的形式来处理才行,所以在此整理了一下,当输入一行或多行以空格(单个或多个空格)隔开的数组,如何正确的读入。

目标

输入示例

1 2 5 7 12 23
4 5 8 10

每行的数个数不定

代码

#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;

int stringline_to_array(string& A, int *a) {
   
   
  int i=0,count=0,fore=0;
  while(A[i]==' ') {
   
                                      //忽略每行开头空格
    fore++;
    i++;
  }
  while (i!=A.length()) {
   
   
    if (A[i]==' ') {
   
   
      a[count] = stoi(A.substr(fore, i-fore));         //截取连续的一段非空字符转为数字
      count
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值