d143: 11172 - Relational Operators (27)
更新時間:2016/12/21
內容:有些運算子(operator)是用來檢查兩個數值之間的關係,這種運算子稱為關係運算子(relational operators)。 給你兩個數值你的工作就是要找出它們之間的關係是(1)第一個大於第二個 (2)第二個小於第一個 (3)兩個一樣大。
輸入說明:
輸入的第一列有一個整數代表共有多少組測試資料。接下來每列有兩個整數 a 和 b ( |a|,|b| < 1000000001)。
輸出說明:
對於每組測試資料,輸出,">", "<" 或 "=",代表該二數字的關係。
範例輸入:
3
10 20
20 10
10 10
範例輸出:
<
>
=
想一想,再看解答~
我的解題想法:
因為知道次數,我們直接使用 for 迴圈再搭配邏輯判斷式。
程式碼:
#include <stdio.h> int main(void){ int t,a,b; scanf("%d",&t); for(int i=0;i<t;i++){ scanf("%d%d",&a,&b); if(a>b){ printf(">\n"); }else if(a<b){ printf("<\n"); }else{ printf("=\n"); } } return 0; }程式碼解析:
#1: | 引入標準輸入/輸出串流。 |
#2: | 主程式開始,回傳引數int,沒有參數。 |
#3: | 宣告3個整數(int)變數「t」、「a」、「b」,範圍–2,147,483,648 到 2,147,483,647。 |
#4: | 從標準輸入讀取格式化數據。讀取1個整數(%d),指定值給「t」。 |
#5: | 迴圈 for 開始。區域變數「i」,從 0 開始到小於 t 結束 (int i=1;i<t;i++)。 |
#6: | 從標準輸入讀取格式化數據。讀取2個整數(%d%d),依序指定值給「a」、「b」。 |
#7: | 邏輯判斷式 if 開始。判斷 a 是否大於 b。 |
#8: | 將格式化數據顯示到標準輸出。輸出字串「>\n」。 |
#9: | 第二個邏輯判斷 else if。判斷 a 是否小於 b。 |
#10: | 將格式化數據顯示到標準輸出。輸出字串「<\n」。 |
#11: | 邏輯判斷 else。 |
#12: | 將格式化數據顯示到標準輸出。輸出字串「=\n」。 |
#13: | 邏輯判斷式 if 結束。 |
#14: | 迴圈 for 結束。 |
#15: | 主程式回傳整數「0」。 |
#16: | 主程式結束。 |
使用三元運算子「?:」:
程式碼:
#include <stdio.h> int main(void){ int t,a,b; scanf("%d",&t); for(int i=0;i<t;i++){ scanf("%d%d",&a,&b); printf("%s",a>b ? ">\n" : ( a<b ? "<\n" : "=\n" ) ); } return 0; }程式碼解析:
#1: | 引入標準輸入/輸出串流。 |
#2: | 主程式開始,回傳引數int,沒有參數。 |
#3: | 宣告3個整數(int)變數「t」、「a」、「b」,範圍–2,147,483,648 到 2,147,483,647。 |
#4: | 從標準輸入讀取格式化數據。讀取1個整數(%d),指定值給「t」。 |
#5: | 迴圈 for 開始。區域變數「i」,從 0 開始到小於 t 結束 (int i=1;i<t;i++)。 |
#6: | 從標準輸入讀取格式化數據。讀取2個整數(%d%d),依序指定值給「a」、「b」。 |
#7: | 將格式化數據顯示到標準輸出。輸出1個字串(%s)「a>b ? ">\n" : ( a<b ? "<\n" : "=\n" )」。 |
#8: | 迴圈 for 結束。 |
#9: | 主程式回傳整數「0」。 |
#10: | 主程式結束。 |