PAT乙级刷题/1011 A+B 和 C/C++实现

一、题目描述

给定区间 [−231,231] 内的 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
//结尾无空行

二、思路分析

注意题目中A、B、C的范围,显然不能使用int整型变量,不然会导致溢出

具体可以看这篇文章C++ Data Typesicon-default.png?t=LA92https://www.geeksforgeeks.org/c-data-types/

三、题解代码以及提交截图 

#include <iostream>

using namespace std;

int main()
{
    int N;
    long a[10][3];
    int i,j;
    cin >> N;
    for(i = 0;i < N;i++){
        for(j = 0;j < 3;j++){
            cin >> a[i][j];
        }
    }
    for(i = 0;i < N;i++){
        if(a[i][0] + a[i][1] > a[i][2])
        {
            cout << "Case" << " "
                 << "#" << i+1
                 <<":" << " "
                 << "true" << endl;
        }
        else
        {
            cout << "Case" << " "
                 << "#" << i+1
                 <<":" << " "
                 << "false" << endl;
        }
    }
}

 

Guess you like

Origin blog.csdn.net/m0_50829573/article/details/121585428