入门 · 输入输出

两数求和

读入两个整数,输出它们的和。"Hello World" 级别的第一道题 — 目的是练熟"读入 → 计算 → 输出"这个循环。

一句话答案一行读入两个整数,输出它们的和 —— 全站最小的完整程序:读入、相加、输出,唯一的边界是负数。

题目

输入: 一行,两个整数 a 和 b,用空格分隔(−10⁹ ≤ a, b ≤ 10⁹)。

输出: 一行,a + b。

样例:

输入输出
3 47

你的解答

main.cpp — 你的解答
「运行我的输入」用的自定义输入

判题在浏览器本地运行。死循环会在 3 秒后被自动中断 —— 但还是确保每个循环都有出口。代码随打随存。

卡住了?提示

提示 1 — 读入部分

cin >> a >> b; 一行读入两个数 — >> 会自动跳过中间的空格。

提示 2 — 输出部分

cout << a + b << endl; — 输出语句里可以直接计算,不用额外的变量。

题解(先自己试试!)
#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    cout << a + b << endl;
    return 0;
}

整道题就是"读 → 算 → 打"一个回合。下一步去练循环:1 到 N 求和。

深度解析

为什么这样做对

整个程序就是一条流水线:读入、计算、输出。本站后面每一道更难的题,都是这条流水线中间插了一个循环——先学会把这三段分开看,剩下的都是细节。

代价

O(1) 时间、O(1) 空间。两个 int 进、一个 int 出,不随输入规模变化。

常见错法

  • cin >> a >> b 顺序写反了照样能编译、照样打印出一个数——只是错的。要盯值的流向,不要只盯语法。
  • 二十亿加二十亿会让 int 溢出成负数。本题数据小,但 long long 是能活到线上的习惯。

下一步

同一条流水线,中间加一个循环:1 到 N 求和。

记住这两句

  • 任何程序都是「读入 → 计算 → 输出」,写代码前先指出这三段。
  • 溢出是静默的:int 到 2,147,483,647 就绕回负数。
🐞 这段是错的 —— 点开,亲手让它挂一次

多印了一句 sum = ——判题只要数字本身

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    cout << "sum = " << a + b << endl;
    return 0;
}