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
",i);
    else if(a<0 && b<0 && sum>=0)      //负溢出,负数相加成>0数,实际数一定下雨c的最小值,为false
      printf("Case #%d: false
",i);
    
    else if(sum>c)              //未溢出时的判断
      printf("Case #%d: true
",i);
    else
      printf("Case #%d: false
",i);
  }
  system("pause");
  return 0;
}
原文地址:https://www.cnblogs.com/Evence/p/4294944.html