题目描述
你的任务是计算a+b。
输入描述
输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。
输出描述
对于输入的每对a和b,你需要依次输出a、b的和。
如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。
输入示例
3 4
11 40
输出示例
7
51
题解
#include <iostream>
using namespace std;
int main()
{
int a = 0, b = 0;
while(cin>>a>>b)
{
cout<<a+b<<endl;
}
return 0;
}
解题技巧
本题关键为循环输入两个待加和变量
// 持续输入 a和b
while(std::cin >> a >> b)
{
}
知识背景
C++函数基础
每一个C++程序都包含了一个或者多个函数,但其中有一个函数必须命名为main,这是因为程序的启动,都是从main函数开始的。
所以我们首先要先写一个main函数:
int main() {
return 0;
}
函数包括四要素:
- 返回类型
- 函数名
- 形参列表
- 函数体
具体要素构成如图所示:

-
函数的返回类型 定义一个函数时,我们首先要在函数名之前放置一个关键字表示函数的返回类型,这个关键字代表的含义是函数执行完毕会返回什么类型的值,我们这里使用了int关键字,表示函数将返回一个整数类型的值(不带小数部分),比如我们在数学中使用的0、1、2就是整数。 一般函数的返回类型可以是 int,float,void等等,这些都是C++的内置数据类型,但是请记住,main函数的返回类型一定是int。
-
函数名 在后面,我们会定义很多个函数,为了区分这些函数,我们要给不同的函数起不同的函数名称,而且函数命名是有规范的,而这里由于是主函数,所以函数的名称为main,且不可更改。
-
函数的形参列表 函数名之后的括号内填充的就是形参列表,它定义了函数在被调用时可以接受的参数类型,参数之间用逗号分隔,在上面的代表中,形参列表是空的,表示没有传递形参。
-
函数体 从左花括号{开始, 到右括号}结束,这一部分就是函数体,函数体中可以有很多行代码,而上面的程序中只有一行return 0;, 这行代码表示程序已经执行完毕,并返回了一个状态码0,这个状态码可以反馈程序的执行状态,在大多数情况下,返回0表示程序正常退出,没有出现错误。
输入输出流
在这个问题中,瓦们如何接收用户输入,以及向外界输出结果呢?
C++语言为我们准备了一组内置库,包含了很多常用的功能, 并且这些内置库可以直接使用,而其中的内置库:iostream(标准库的一种,类似的如vector、string均为标准库,安装编译器时如MinGW中自带),就提供了输入和输出的功能,允许开发者从键盘读取输入并在屏幕上输出结果。
iostream库包含了两个基础类型,分别是istream(输入流) 和 ostream(输出流)
输入和输出很好理解,可是流是什么意思呢? 比较形象的表达,就是我们要把键盘上的字符通过程序输入到电脑里,这个过程就是一个字符接着一个字符流入电脑的过程,所以叫输入输出流。
在 iostream 库 中,我们有两个对象可以使用,分别是 cin 和cout。 cin 是一个标准输入流对象,用于从键盘读取输入。cout 是一个标准输出流对象,用于向屏幕输出结果。二者搭配输入、输出运算符使用。
输入运算符(») 输入运算符用于将数据从输入流(如键盘、文件等)读取到变量中。
int number;
std::cin >> number; // 从输入流读取一个整数并存储在变量 number 中
在连续读取多个值时,可以使用链式输入操作,多个值之间用空格隔开。
int a, b;
std::cin >> a >> b; // 从输入流读取两个整数并存储在变量 a 和 b 中
输入技巧
cin在输入时分为很多种类,要根据输入要求确定种类。切记cin根据\n、\t、空格等自动分割读取。
比如输入数字,且明确2个有循环的输入,可以使用两个int型变量,cin»a»b
面对无循环按行输入的情况,使用string类型搭配getline函数进行读取遍历
输出技巧
常见问题在于间隔之间输出空格、空行等
可以使用(空格+答案)或(答案+空格)的方式,哪个简单使用哪个
变量
1、位(bit) 来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位,11010100是一个8位二进制数。一个二进制位只可以表示0和1两种状态;两个二进制位可以表示00、01、10、11四种状态;三位二进制数可表示八种状态。
2、字节(byte) 字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。 字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。八位二进制数最小为00000000,最大为11111111;通常1个字节可以存入一个ASCII码,2个字节可以存放一个汉字国标码。
3、字 计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。一个字通常由一个或多个(一般是字节的整数位)字节构成。例如286微机的字由2个字节组成,它的字长为16;486微机的字由4个字节组成,它的字长为32位机。 计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大,其性能越优越。
| 类型 | 描述 |
|---|---|
| bool | 布尔类型,存储值 true 或 false,占用 1 个字节。 |
| char | 字符类型,用于存储 ASCII 字符,通常占用 1 个字节。 |
| int | 整数类型,通常用于存储普通整数,通常占用 4 个字节。 |
| float | 单精度浮点值,用于存储单精度浮点数。单精度是这样的格式,1 位符号,8 位指数,23 位小数,通常占用4个字节。 ![]() |
| double | 双精度浮点值,用于存储双精度浮点数。双精度是 1 位符号,11 位指数,52 位小数,通常占用 8 个字节。![]() |
| void | 表示类型的缺失。 |
| wchar_t | 宽字符类型,用于存储更大范围的字符,通常占用 2 个或 4 个字节。 |
无限风光在险峰 – 6月29日


