PAT:1065. A+B and C (64bit) (20) AC
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n;
scanf("%d",&n);
for(int i=1 ; i<=n ; ++i)
{
long long a,b,c;
scanf("%lld%lld%lld",&a,&b,&c);
long long sum=a+b; //【思维】:判断sum是否正负溢出,溢出的话不能直接按计算判断!
if(a>0 && b>0 &&sum<=0) //正溢出,加成负数,实际数一定大于c的最大值,为true
printf("Case #%d: true\n",i);
else if(a<0 && b<0 && sum>=0) //负溢出,负数相加成>0数,实际数一定下雨c的最小值,为false
printf("Case #%d: false\n",i);
else if(sum>c) //未溢出时的判断
printf("Case #%d: true\n",i);
else
printf("Case #%d: false\n",i);
}
system("pause");
return 0;
}