刚开始以为做大整数加减法,幸亏搜了一下,题目只要求判断true或false
关于检测溢出的做法:
但是<climits>里的LLONG_MAX
这种东西谁记得住!
还是按照
做法比较实用
#include//#include 里有INT_MAX LLONG_MAX LLONG_MINint main(){ freopen("in.txt","r",stdin); int t; scanf("%d",&t); for(int i = 0; i < t; i++){ long long a, b, c; scanf("%lld%lld%lld",&a,&b,&c); long long res = a+b; printf("Case #%d: ",i+1); bool flag; if(a>0 && b>0 && res<=0){//上溢出了, 那结果肯定大于c //注意res==0也是溢出了! flag = true; }else if(a<0 && b<0 && res>=0){//下溢出了,肯定小于c flag = false; }else{ flag = (a+b>c); } if(flag){ printf("true\n"); }else{ printf("false\n"); } } return 0;}