1.3 讀入與計算:A+B
上一節你已經會讓程式「印出固定的內容」了。但真正有用的程式,多半要先讀入一些資料、算一算,再把答案印出來。這一節用最小的例子 A+B(讀進兩個數字、相加、印出)來認識「輸入」。框架(#include、using namespace std;、int main()、return 0;)跟上一節一模一樣,只多了「讀入」和「計算」兩件事:
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int sum = a + b;
cout << sum << endl;
return 0;
}
執行流程:
(程式執行)
(等待你輸入...)
5 3
(電腦計算 5 + 3 = 8)
8
(程式結束)
一樣先別急著理解每一行——先讓它跑起來! 親手把兩個數字相加、看到答案蹦出來,後面再回頭讀解說會更有感覺:
- 把上面的 A+B 程式碼貼進線上編輯器(一樣記得 Language 選 C++17)
- 這支程式要讀入兩個數字,怎麼把
5 3餵給它,看你用哪個編輯器:- 用 AACPOJ 的 IDE:先在右側「標準輸入(stdin)」欄位把
5 3打好,再按左上角綠色的 執行 鈕(或快捷鍵Ctrl/Cmd+Shift+Enter) - 用 OnlineGDB:先按 Run,程式會停下來等你打字(游標在閃就是在等你),這時才在下方視窗輸入
5 3按 Enter
- 用 AACPOJ 的 IDE:先在右側「標準輸入(stdin)」欄位把
- 看看下方是不是印出「8」
跑出來了嗎?你剛剛讓程式完成了「讀入資料 → 計算 → 印出答案」一整輪!(想玩玩看的話,把輸入的數字換成別的、或回上一節把 Hello World 的文字改一改,再執行一次。)接下來我們就一行一行來看它在做什麼。
逐行解說:(開頭的 #include、using namespace std;、int main() 和結尾的 return 0; 就是上一節講過的框架)
int a, b;— 宣告兩個整數變數 a 和 b。「宣告」就是先告訴電腦「我要用兩個叫a、b的盒子來裝整數」,這樣之後才能把值放進去、再拿出來用。而變數就是這種有名字的盒子(int表示盒子裝的是整數)cin >> a >> b;— 從鍵盤讀入數字到 a 和 b(cin這名字取自 character input,「字元輸入」之意)- 你可以輸入「5 3」(用空格分隔),或先打 5 按 Enter 再打 3(用換行分隔)都可以
int sum = a + b;— 計算 a + b,並立即存入新變數 sumcout << sum << endl;— 印出 sum 的值
換你了——動手 AC 練習! 學會 cin 之後,你已經能寫「讀進資料 → 算一算 → 印出答案」的程式了。下面〈相關練習〉的題目都只需要用到加法(+),跟上面的 A+B 一模一樣:用 cin >> 把數字讀進變數、相加後再 cout << 印出來。一樣記得先在編輯器測過範例輸入、再提交。