pat甲级1065. A+B and C (64bit) (20)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/richenyunqi/article/details/80110078

欢迎访问我的pat甲级题解目录哦https://blog.csdn.net/richenyunqi/article/details/84981078

题目描述

算法设计

在进行加和时可能超出long long的存储范围,需要注意处理溢出的问题。

  1. 当A>0,B>0,A+B<0时为正溢出,此时输出true
  2. 当A<0,B<0,A+B>=0时,为负溢出,此时输出false

C++代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    int T;
    scanf("%d",&T);
    long long a,b,c,sum;
    for(int i=1;i<=T;++i){
        scanf("%lld%lld%lld",&a,&b,&c);
        sum=a+b;
        if(a>0&&b>0&&sum<0)
            printf("Case #%d: true\n",i);
        else if(a<0&&b<0&&sum>=0)
            printf("Case #%d: false\n",i);
        else if(sum>c)
            printf("Case #%d: true\n",i);
        else if(sum<=c)
            printf("Case #%d: false\n",i);
    }
    return 0;
}

 

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭