入门 · 输入输出
两数求和
读入两个整数,输出它们的和。"Hello World" 级别的第一道题 — 目的是练熟"读入 → 计算 → 输出"这个循环。
一句话答案一行读入两个整数,输出它们的和 —— 全站最小的完整程序:读入、相加、输出,唯一的边界是负数。
题目
输入: 一行,两个整数 a 和 b,用空格分隔(−10⁹ ≤ a, b ≤ 10⁹)。
输出: 一行,a + b。
样例:
| 输入 | 输出 |
|---|---|
3 4 | 7 |
你的解答
「运行我的输入」用的自定义输入
判题在浏览器本地运行。死循环会在 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;
}