【C++】读取数量不定的输入数据

news/2024/11/27 15:02:30/

读取数量不定的输入数据

在这里插入图片描述

似乎是一个很实用的东西?

问题:

我们如何对用户输入的一组数(事先不知道具体有多少个数)求和?

这需要不断读取数据直至没有新的输入为止。(所以我们的代码就是这样设计的,让它能一直读取数据直到没有新输入,再求和)

代码参考:

#include<iostream>int main()
{int sum = 0, value = 0;while (std::cin >> value)sum+=value;std::cout << sum << std::endl;return 0;
}

我们只用一个while(std::cin>>value)就解决了这个问题。

解释:

输入运算符>>,接受一个istream作为其左侧运算对象,接受一个对象作为其右侧运算对象。

它从给定的istream读入数据,并存入给定对象中

它将返回其左侧运算对象作为其计算结果

也就是说std::cin>>value返回的是std::cin

(重点:)当使用一个istream对象作为条件时,其效果是检测流的状态

如果流是有效的,即流未遇到错误,那么检测成功。当遇到文件结束符(end-of-file),或遇到一个无效输入时(例如读入的值不是一个整数),istream对象的状态会变为无效。处于无效状态的istream对象会使条件变为假。

因此,我们的while循环会一直执行直至遇到文件结束符(或输入错误)。

从键盘输入文件结束符

那么,我们怎样才能达到输入停止的效果呢?这当然也很重要。

当从键盘向程序输入数据时,对于如何指出文件结束,不同操作系统有不同的约定。

在Windows系统中,输入文件结束符的方法是Ctrl+Z(按住Ctrl的同时按Z键),然后按Enter。

在UNIX系统中,包括Mac OS X系统中,文件结束符输入是用Ctrl+D。

这只是一个简单的例子,这种读取数量不定的输入数据的方式可以用在更复杂的程序中,很有用。


http://www.ppmy.cn/news/1550373.html

相关文章

淘宝/天猫按图搜索(拍立淘)API的深度解析与应用实践

在数字化时代&#xff0c;电商行业的快速发展带来了消费者购物习惯的转变&#xff0c;个性化、便捷性和高效性成为新的购物需求。淘宝/天猫作为国内领先的电商平台&#xff0c;推出了按图搜索&#xff08;拍立淘&#xff09;API&#xff0c;这一功能通过图像识别技术&#xff0…

鸿蒙HarmonyOS系统相机Camera相关API使用

HarmonyOS下Camera相机相关API使用 准备工作 1. 导入camera接口 import { camera } from kit.CameraKit; import { BusinessError } from kit.BasicServicesKit; import { common } from kit.AbilityKit;2.获取cameraManager对象 getCameraManager(): camera.CameraManager…

大模型面试题:能简单说下attention中存在的问吗?

我整理了1000道算法面试题&#xff1a; 获取 先说结论&#xff1a;从Attention is not all you need 这篇论文来看&#xff0c;单纯的不加残差连接且不加MLP的多层多头的Attention堆叠会导致模型输出的秩坍缩到rank-1的矩阵&#xff0c;也就是最后所有的表征都趋向于同一个向量…

训练的decoder模型文本长度不一致,一般设置为多大合适,需要覆盖最长的文本长度么

在训练解码器模型时,文本长度不一致是常见的情况,需要根据任务的特性和数据集的长度分布来设置合理的最大长度 (max_length)。以下是一些指导原则,帮助你设置合适的最大长度: 1. 是否需要覆盖最长文本长度 覆盖最长文本长度: 如果任务对完整性要求很高(例如生成数学公式、…

银行卡OCR 识别 API 接口如何用Java如何调用

银行卡 OCR 识别是利用光学字符识别技术&#xff0c;对银行卡上的卡号、有效期、持卡人姓名等信息进行快速、准确识别的过程。而银行卡 OCR 识别 API 接口则是将这种识别能力以接口的形式提供给开发者&#xff0c;使其能够轻松地集成到各种应用程序中&#xff0c;实现对银行卡信…

Mac——鼠标增强插件Mos

功能说明&#xff1a; 能够解决鼠标断续、不灵敏等鼠标问题。 下载地址&#xff1a; Mac——鼠标增强插件Mos

【面试题】2025年百度校招Java后端面试题

文章目录 前言一、网络IO1、服务器处理并发请求有哪几种方式&#xff1f;2、说一下select&#xff0c;poll&#xff0c;epoll的区别&#xff1f;3、Java 有一种现代的处理方式&#xff0c;属于异步I/O&#xff0c;是什么&#xff1f;redis&#xff0c;nginx&#xff0c;netty 是…

深度学习——激活函数

一、人工神经元 1.1 构建人工神经元 人工神经元接受多个输入信息&#xff0c;对它们进行加权求和&#xff0c;再经过激活函数处理&#xff0c;最后将这个结果输出。 1.2 组成部分 输入&#xff08;Inputs&#xff09;: 代表输入数据&#xff0c;通常用向量表示&#xff0c;每…