A1065

判断两数相加是否大于第三数,大于输出true,否则输出false(相等也是false)

1 需要注意数字溢出的问题;

2 先判断溢出,因为在a,b都是负数最小值的情况下,相加直接是正数,在c较小的时候会导致结果出错。

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 int main(){
 5     long long a,b,c;
 6     long long sum;
 7     int n,res;
 8     scanf("%d",&n);
 9     for(int i=1;i<=n;i++){
10         scanf("%lld%lld%lld",&a,&b,&c);
11         sum=a+b;
12         if(a>0&&b>0&&sum<0) res=1;
13         else if(a<0&&b<0&&sum>=0) res=0;
14         else if(sum>c) res=1;
15         else res=0;
16         if(res==1) printf("Case #%d: true\n", i);
17         else printf("Case #%d: false\n", i);
18     }
19     return 0;
20 }
posted @ 2019-12-20 16:35  老葛  阅读(154)  评论(0编辑  收藏  举报