当前位置: 首页 > news >正文

C++算法(13):如何高效读取并存储未知数量的空格分隔数字

1. 读取整行输入

使用 getline 读取用户输入的一行数据,确保捕获所有数字。

2. 使用字符串流分割数字

将读取的字符串转换为 istringstream 对象,逐个提取其中的数字。

3. 动态存储数字到向量

利用 vector 动态存储提取的数字,避免预先分配固定大小的数组。

4. 转换为整型数组

根据向量的大小动态分配整型数组,并将数据复制到数组中。

完整代码示例

#include <iostream>
#include <sstream>
#include <vector>
#include <string>using namespace std;int main() {string inputLine;vector<int> numbers;// 读取整行输入getline(cin, inputLine);// 使用字符串流解析数字istringstream iss(inputLine);int num;while (iss >> num) {numbers.push_back(num);}// 转换为整型数组int* arr = new int[numbers.size()];for (int i = 0; i < numbers.size(); ++i) {arr[i] = numbers[i];}// 输出数组内容(示例)cout << "存入数组的数字为:";for (int i = 0; i < numbers.size(); ++i) {cout << arr[i] << " ";}cout << endl;// 释放动态数组内存delete[] arr;return 0;
}

代码解析

  1. 读取输入getline(cin, inputLine) 读取整行输入,包括空格。

  2. 字符串流处理istringstream 将字符串转换为流,便于逐个提取数字。

  3. 动态存储vector<int> 自动扩展容量,无需手动管理内存。

  4. 数组转换:根据 vector 大小动态分配数组,并复制数据。

注意事项

  • 内存管理:使用 new 分配数组后,需用 delete[] 释放内存。

  • 错误处理:代码假设输入均为合法整数,若需处理非法字符,可添加校验逻辑。

示例输入/输出

输入:10 20 30 40 50
输出:存入数组的数字为:10 20 30 40 50

此方法结合了 vector 的灵活性和传统数组的需求,确保高效处理未知数量的输入。

http://www.xdnf.cn/news/91873.html

相关文章:

  • 资本怪兽贝莱德投资数据分析报告-独家
  • 具有相同数量的置位(1位)的下一个更大数字
  • Qt 下载的地址集合
  • 反素数c++
  • 语音合成(TTS)从零搭建一个完整的TTS系统-第二节-中文转拼音
  • 深入解读ConcurrentHashMap特性以及源码
  • 01.Python代码Pandas是什么?pandas的简介
  • EdgeGPT - 新版Bing聊天功能逆向工程
  • pip install pymysql报错
  • Python SQL 工具包:SQLAlchemy介绍
  • oracle将表字段逗号分隔的值进行拆分,并替换值
  • Spark–steaming
  • 【LLM+Code】Claude Code Agent 0.2.9 版本最细致解读
  • Cursor Free VIP 重置进程错误,轻松恢复使用!
  • Element Plus消息通知体系深度解析:从基础到企业级实践
  • SwiftInfer —— 大模型无限流式输入推理打破多轮对话长度限制
  • 序列决策问题(Sequential Decision-Making Problem)
  • 测试开发 - Java 自动化测试核心函数详解
  • 【云馨AI-大模型】Dify 1.2.0:极速集成 SearXNG,畅享智能联网搜索新境界,一键脚本轻松部署SearXNG
  • LeetCode算法题(Go语言实现)_55
  • 麒麟系统使用-系统设置
  • 详解BUG(又名:BUG的生命周期)
  • 从0到1构建企业级消息系统服务体系(终):当消息系统学会「读心术」揭秘情感计算如何让触达转化率飙升 200%
  • Unity 导出Excel表格
  • 可变参数模板 和 折叠表达式 (C++)
  • 人工智能-模型评价与优化(过拟合与欠拟合,数据分离与混淆矩阵,模型优化,实战)
  • 《AI大模型应知应会100篇》第32篇:大模型与医疗健康:辅助诊断的可能性与风险
  • RAG进阶:Embedding Models嵌入式模型原理和选择
  • 【网络应用程序设计】实验一:本地机上的聊天室
  • 1.HTTP协议与RESTful设计