【PAT Basic Level】1011 A+B 和 C

    技术2022-07-10  125

    目录

    题目分析代码 专栏:PAT乙级刷题笔记

    题目

    给定区间 [ − 2 31 , 2 31 ] [-2^{31},2^{31}] [231,231]内的 3 个整数 A A A B B B C C C,请判断 A + B A+B A+B 是否大于 C C C

    输入格式

    输入第 1 行给出正整数是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A A A B B B C C C。整数间以空格分隔。

    输出格式

    对每组测试用例,在一行中输出 Case #X: true 如果 A + B > C A+B>C 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

    分析

    送分题,不清楚这道题的出题目的,注意下int的范围即可。或许是要考察大数相加?不过没个几百位也没有意义呀。

    代码

    #include<iostream> #include<string> using namespace std; int main(){ int n; long a,b,c;//用long类型保险 cin>>n; int *A = new int[n]; for(int i = 0;i < n;++i){ cin>>a>>b>>c; if(a+b>c) A[i] = 1; else A[i] = 0; }//由于格式要求是要全部输入完后再一次性全部输出,所以用A[i]来存储判断的结果。 for(int i = 0;i < n-1;++i){ if(A[i] == 0) cout<<"Case #"<<i+1<<": false"<<endl; else cout<<"Case #"<<i+1<<": true"<<endl; } if(A[n-1] == 0) cout<<"Case #"<<n<<": false"; else cout<<"Case #"<<n<<": true"; return 0; }
    Processed: 0.016, SQL: 9