明显题目在考查对整数溢出的处理。
但是由于还有long long存在,所以可以投机一波
技巧版
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <algorithm>
using namespace std;
int main(){
int n;
long long a, b, c;
cin>>n;
for(int i = 1; i <= n; i++){
cin>>a>>b>>c;
cout<<"Case #"<<i<<": ";
if(a + b > c) cout<<"true"<<endl;
else cout<<"false"<<endl;
}
return 0;
}
正解版
正数溢出后变成了负数
负数溢出后变成正数
#include <iostream>
#include <string>
#include <vector>
#include <cctype>
#include <algorithm>
using namespace std;
int main(){
int n;
int a, b, c;
cin>>n;
for(int i = 1; i <= n; i++){
cin>>a>>b>>c;
cout<<"Case #"<<i<<": ";
if(a > 0 && b > 0 && a + b < 0) cout<<"true"<<endl;
else if(a < 0 && b < 0 && a + b > 0) cout<<"false"<<endl;
else if(a + b > c) cout<<"true"<<endl;
else cout<<"false"<<endl;
}
return 0;
}