一句话理解
输入是程序开始计算前拿到的数据。
为什么要学
信奥题目几乎都是:读入数据,计算,再输出答案。输入读错,后面全错。
讲解
输入可能来自键盘,评测时通常来自题目准备好的文件。对程序来说,都是“从标准输入读”。
先看清题目给几个数、什么类型、有没有多组数据。不要假设“一定只有一个数”。
读入顺序必须和题目描述一致。题目说先 n 再一行 n 个数,你就不能先读那些数。
例子
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
输出:
如果输入是 3 5,输出就是 8
cin >> a >> b 依次读两个整数。空格、换行都会被跳过,所以 3 5 和两行分开写都能读到。
常见错误
- 没读完题目要求的数据就开始算。
- 把输入里的空格当成数据的一部分。对 cin 读整数来说,空格只是分隔符。