1011. A+B和C

来源:互联网 发布:无法访问移动网络 华为 编辑:程序博客网 时间:2024/05/22 00:54

一、题目

给定区间[-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

二、个人理解

此题的难度不大,但还是有一处关键点:

  • int型相加可能会溢出

源代码(C):

#include <stdio.h>int main(){    int num;    int a,b,c;    scanf("%d",&num);    int j;    long temp;    for(j=0; j<num; j++) {        scanf("%d%d%d",&a,&b,&c);        temp=long(a)+long(b);//防止溢出,但应注意也要把a和b都要强转。        if(temp>c) {            printf("Case #%d: %s\n",j+1,"true");        } else {            printf("Case #%d: %s\n",j+1,"false");        }    }    return 0;}
原创粉丝点击