changed 4 years ago
Linked with GitHub

條件判斷

2021/09/24 電算社第二堂社課


複習基本的程式架構

#include<iostream> using namespace std; int main() { }

#include<xxxxxxxxx> //導入資料庫 using namespace std; //以後code 不用打 std:: // 使用命名空間(? 間單來說就是偷懶 int main() { //主程式 }

複習上次學過的條件運算


條件運算

算完的結果會是一個布林值
不是True就是False


邏輯運算

多條件的條件運算
得到的結果也是一個布林值


Examples

int a = 5 , b = 3 , c = 1; cout << (a > b); // 1 cout << (b > a); // 0 cout << (a > b && c > b); // 0 cout << (a > b || c > b); // 1 cout << ((a > b) && !(c > b)); // 1

條件判斷


if

// a 為 bool if(a){ ... //裡面放a成立的時候要做的事 }

else

// a 為 bool if(a){ ... } else{ //只要a不成立就會做這件事 ... }

有 else 就一定會有 if,
所以在打Code的時候記得要注意喔


else if

// a,b,c,d 都是 bool if(a){ ... } else if(b){ //如果a不成立,且b成立,就會做 ... } else if(c){ //如果a、b不成立,且c成立,就會做 ... } else{ //如果a、b、c都不成立就會做 ... }

巢狀if : if裡面再包if

if(a){ if(b){ //如果a、b都成立就會做 ... } } //上面的式子相當於 if(a && b){ }

三元預算子(Question mark operator)


基本結構

(a)? b : c //如果a是真,就會執行b,如果a是假,就會執行c

回傳值類型會依據b和c的類型改變,
盡量不要使用不同的類型


什麼時候會用到?

在只有單行if - else的時候

#include<iostream> using namespace std; int main(){ int a; cin >> a; if(a % 2 == 0) cout << "a是偶數"; else cout << "a是奇數"; }

比起那樣寫,你也可以選擇這個:

#include<iostream> using namespace std; int main(){ int a; cin >> a; cout << ( (a % 2 == 0) ? "a是偶數" : "a是奇數" ); }

小練習

電算社想要針對每個社員的表現進行評分,
在經過了兩次考試之後,
決定讓總和90分以上的得A,
總和80分以上得B,
總和70分以上得C,
總和60分以上得D,
總和59分以下得F。


輸入說明:輸入兩個整數m,n。(0<=m,n<=50)
輸出說明:輸出等第。

範例輸入:42 45
範例輸出:B


我是防雷頁:D


解答

#include<iostream> using namespace std; int main(){ int m, n; cin >> m >> n; int total = m + n; if(total >= 90) cout << "A\n"; else if(total >= 80) cout << "B\n"; else if(total >= 70) cout << "C\n"; else if(total >= 60) cout << "D\n"; else cout << "F\n"; return 0; }

練習題


閏年判斷-巢狀判斷

#include <iostream> using namespace std; int main() { int Year; cin >> Year; if(Year % 4 == 0) { if(Year % 400 == 0) cout << "YES"; else if(Year % 100 == 0) cout << "NO"; else cout << "YES"; } else cout << "NO"; cout << "\n"; }

閏年判斷-條件判斷

#include<iostream> using namespace std; int main(){ int Year; cin >> Year; if( Year % 4 == 0 && Year % 100 != 0){ cout << "YES\n"; } else if(Year % 400 == 0){ cout << "YES\n"; } else{ cout << "NO\n"; } return 0; }
Select a repo