d064: ㄑㄧˊ 數?(17)
更新時間:2016/12/20
內容:英文的 Odd 是「奇怪」的意思,Odd Number 當然就是「奇怪的數字」簡稱「奇數」。問題是「奇數」倒底是唸成「ㄐㄧ數」或是「ㄑㄧˊ 數」呢?
輸入說明:
輸入只有一行,其中含有一個整數 i。
輸出說明:
如果 i 是奇數,輸出 Odd;如果 i 是偶數,則輸出 Even。
範例輸入:
1
範例輸出:
Odd
提示:
背景知識:
運算子、If
想一想,再看解答~
我的解題想法:
把輸入的數字除以 2 取餘數,如果餘數為 1,則為 Odd;否則為 Even。
♠使用 判斷式 if-else 的解法
程式碼:
#include <stdio.h> int main(void){ long long int i; scanf("%lld",&i); if(i%2==1){ printf("Odd"); }else{ printf("Even"); } return 0; }程式碼解析:
#1: | 引入標準輸入/輸出串流。 |
#2: | 主程式開始,回傳引數int,沒有參數。 |
#3: | 宣告1個長長整數(long long int)變數「i」,範圍–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。 |
#4: | 從標準輸入讀取格式化數據。讀取1個長長整數(%lld),指定值給「i」。 |
#5: | 邏輯判斷式 if 開始。判斷 輸入的整數除以 2 的餘數 是否等於 1 (i%2==1)。 |
#6: | 將格式化數據顯示到標準輸出。輸出字串「"Odd"」。 |
#7: | 邏輯判斷 else。 |
#8: | 將格式化數據顯示到標準輸出。輸出字串「"Even"」。 |
#9: | 邏輯判斷式 if 結束。 |
#10: | 主程式回傳整數「0」。 |
#11: | 主程式結束。 |
♠使用 三元運算子 ? : 的解法
程式碼:
#include <stdio.h> int main(void){ long long int i; scanf("%lld",&i); printf("%s", i%2==1 ? "Odd" : "Even"); return 0; }程式碼解析:
#1: | 引入標準輸入/輸出串流。 |
#2: | 主程式開始,回傳引數int,沒有參數。 |
#3: | 宣告1個長長整數(long long int)變數「i」,範圍–9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。 |
#4: | 從標準輸入讀取格式化數據。讀取1個長長整數(%lld),指定值給「i」。 |
#5: | 將格式化數據顯示到標準輸出。輸出1個字串(%s)「i%2==1 ? "Odd" : "Even"」。 如果 i%2==1 成立,輸出"Odd";否則輸出"Even"。 |
#6: | 主程式回傳整數「0」。 |
#7: | 主程式結束。 |