PAT_乙级_1011
来源:互联网 发布:齐天大圣孙悟空知乎 编辑:程序博客网 时间:2024/06/03 05:14
1011. A+B和C (15)
给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。
输入格式:
输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。
输出格式:
对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。
输入样例:4
1 2 3
2 3 4
2147483647 0 2147483646
0 -2147483648 -2147483647
输出样例:Case #1: false
Case #2: true
Case #3: true
Case #4: false
思考:
这个题目其实特别简单,唯一需要注意的就是数的范围是-2147483648~2147483648(2的-32次幂到2的32次幂)。如果这个时候仍然用int来定义变量a,b,c的话就容易出错了。因为int类型变量的范围是:-2147483648~2147483648。如果两个数在相加时的结果超出这个范围,那么编译不会出错,但输出的结果会有误。所以这里我用了long型变量来定义题中的三个变量。但严格意义上说,这样仍然不能满足题目需求,严格来说应当将正负数的情况分开,用unsigned来存才是严谨的,但这题可能存在问题,我的代码居然通过了!
代码:
#include <iostream>using namespace std;int main(){ long a,b,c; int T,i=1; cin >> T; while(T--) { cin >> a >> b >> c; if(a+b>c) cout<<"Case #"<<i<<": true"<<endl; else cout<<"Case #"<<i<<": false"<<endl; i++; } return 0;}
0 0
- PAT_乙级_1011
- 浙江大学PAT_乙级_1011. A+B和C (15)
- PAT_乙级1001
- PAT_乙级1006
- PAT_乙级1011
- PAT_乙级1016
- PAT_乙级1021
- PAT_乙级1026
- PAT_乙级1031
- PAT_乙级1036
- PAT_乙级1041
- PAT_乙级1046
- PAT_乙级1002
- PAT_乙级1004
- PAT_乙级1005
- PAT_乙级1008
- PAT_乙级1009
- PAT_乙级 1004 成绩排名
- 原生js写的slider_up与slider_down效果
- servlet基础
- S5PV210的地址映射图
- java实现微信H5支付
- 旋转矩阵,旋转影像
- PAT_乙级_1011
- [图形学] 游戏中的场景管理
- js中的this
- 初级-图片整理
- Android跨进程通信
- Java并发编程之Executor,Executors,ExecutorService,Future,Callable
- Friends number 2010辽宁省赛
- javaScript重定向页面
- 矩阵连乘最少次数