在网上学习的别人的代码
重点:判断是否溢出
#include <iostream>
#include <stdio.h>
using namespace std;
/* maximum signed long long int value */
#define LLONG_MAX 9223372036854775807
/* minimum signed long long int value */
#define LLONG_MIN (-9223372036854775807 - 1)
bool compare(long long a, long long b, long long c)
{
if(a > 0 && b > 0)
{
if(a > LLONG_MAX - b)
return true;
}
if(a < 0 && b < 0)
{
if(a< LLONG_MIN - b)
return false;
}
return a+b > c;
}
int main()
{
int n;
long long a,b,c;
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> a >> b >> c;
printf("Case #%d: ",i);
if(compare(a, b, c))
printf("true\n");
else
printf("false\n");
}
return 0;
}