板栗說算法 之 PAT 乙級 1011 A+B 和 C((全方面解析))

一、題目

給定區間 [−2​31​​,2​31​​] 內的 3 個整數 A、B 和 C,請判斷 A+B 是否大於 C。

輸入格式:

輸入第 1 行給出正整數 T (≤10),是測試用例的個數。隨後給出 T 組測試用例,每組佔一行,順序給出 A、B 和 C。整數間以空格分隔。

輸出格式:

對每組測試用例,在一行中輸出 Case #X: true 如果 A+B>C,否則輸出 Case #X: false,其中 X 是測試用例的編號(從 1 開始)。

輸入樣例:

4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647

輸出樣例:

Case #1: false
Case #2: true
Case #3: true
Case #4: false

 二、思路

1.使用指針動態創建二維數組。

2.依次輸入,每次輸入進行比較,進行true和false的判斷

3.依次輸出

三、代碼實現

#include <iostream>
using namespace std;

int main()
{
    //記錄用戶輸入
    double MAX;
    cin >> MAX;
    
    //建立數組
    double** array = new double*[MAX];

    //建立bool數組
    bool* is_true = new bool[MAX];
    
    //建立二維數組
    for(int i = 0; i < MAX; i++)
    {
        array[i] = new double[3];
    }
    
    //依次輸入
    for(int i = 0; i < MAX; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            cin >> array[i][j];
        }
        
        //進行比較判斷
        if(array[i][0] + array[i][1] > array[i][2])
        {
            is_true[i] = true;
        }else{
            is_true[i] = false;
        }
    }
    
    //按要求打印
    for(int i = 0; i < MAX; i++)
    {
        cout << "Case #" << i+1 << ": ";
        if(is_true[i] == true)
        {
            cout << "true";
        }else
        {
            cout << "false";
        }
        if(i != MAX - 1)
        {
            cout << endl;
        }
    }
    
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章