PAT乙级1011 || A+B 和 C(C语言)


【欢迎关注微信公众号:计算机黑科学大全,在对话框回复:PAT乙级真题】获取全部真题详解及代码示例

A+B 和 C

题目描述:

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

输入格式:

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

输出格式:

对每组测试用例,在一行中输出 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

题目来源:PAT乙级1011
作者:HOU, Qiming
单位:浙江大学

:点击文章底部的 阅读原文 可直接进入本题在线评测系统

问题解决:

解题思想

本题主要考察整型intlong long的取值范围,题中给定区间 [− 2 31 2^{31} 231, 2 31 2^{31} 231] ,而int型取整范围为[− 2 31 2^{31} 231, 2 31 2^{31} 231-1],因此不能用int,用int评测系统会报错,要用long long型。
:绝对值在 1 0 9 10^9 109以内的整数都可以定义出int型, 1 0 9 10^9 109以上的整数定义成long long型。

代码示例(C)

小提示:左右滑动代码可查看全部内容

#include 

int main()
{
    long long a,b,c;
    int t,i = 1;
    scanf("%d",&t);
    while(t--){
        //注意long long型的格式控制符为%lld
        scanf("%lld%lld%lld",&a,&b,&c);
        if(a + b > c){
            printf("Case #%d: true\n",i);
        }
        else{
            printf("Case #%d: false\n",i);
        }
        i++;
    }
    return 0;
}

1.png

你可能感兴趣的:(PAT乙级真题详解)