2015年6月30日 星期二

d143:11172 - Relational Operators (27)

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:主程式結束。