Skip to content

C++ 基础:标准输入 (cin)

前置学习:变量与数据类型

如果一个程序每次运行的结果都一模一样,那它就只是一台死板的计算器。 在真实的信奥赛(如洛谷、CSP-J/S)中,评测机测试你代码对错的唯一标准,就是向你的程序输入各种不同的极端的测试数据,看你的程序能不能每次都算出正确的答案。

在 C++ 中,我们使用 cin(读作 C-in)来接收这些从外部输入的数据。

1. cin 怎么用?

想要装下外部输入的数据,我们首先得提前准备好“空盒子”(变量)。 cin 的符号方向和 cout 正好相反,你可以把 >> 想象成一个漏斗,外部的数据顺着漏斗,精准地流入了你指定的变量盒子里。

cpp
int age;
// 漏斗箭头指向 age,意思是把接收到的输入数据塞进 age 里
cin >> age;

2. 一口气读入多个数据

比赛题目中,往往要求一次性输入多个数据。比如题意说明:“输入两个整数 a 和 b”。 你可以分开写,但最专业、最简洁的写法是连续提取

cpp
int a, b;
cin >> a >> b;

💡 核心机制:电脑是怎么区分这两个数字的? 当使用 cin >> 读取数据时,它会自动忽略所有的空白字符(包括空格、Tab 制表符、甚至 Enter 回车键)

这意味着,无论评测机给你的测试数据是一行用空格隔开: 10 20 还是分成了两行: 1020 对于 cin >> a >> b; 来说,接收到的效果完全一模一样。它会把 10 塞给 a;自动跨过中间的空白字符,再把 20 塞给 b

3. 经典实战:A+B Problem

“A+B Problem” 是所有算法竞赛选手的启蒙题。你现在已经具备了解决它的所有知识!

题目描述: 输入两个整数 a 和 b,计算并输出它们的和。

参考代码:

cpp
#include <bits/stdc++.h>
using namespace std;

int main() {
    // 1. 声明变量(准备好装数据的空盒子)
    int a = 0, b = 0;
    
    // 2. 读取输入(将评测机给定的数据放入盒子)
    cin >> a >> b;
    
    // 3. 计算并输出结果
    cout << a + b << endl;
    
    return 0;
}

4. 动手实践

md
1. 展开博客网页左下角的“💻 运行代码”沙盒。
2. 纯靠记忆,把 A+B Problem 的完整代码敲进上方的代码编辑器里。
3. 在左下角的 **📥 标准输入 (cin)** 文本框中,随意输入两个数字(比如 `100 250`)。
4. 点击“▶ 执行”,看看右边的 **📤 终端输出** 框是否正确打印出了 `350`。多换几组数据测试一下!
💻 运行代码

C++ 在线评测沙盒

📥 标准输入 (cin):
📤 终端输出 (cout):