B1011. A+B和C(15)
Time Limit:50ms Memory Limit:65536KB
题目描述
给定区间[-231,231]内的三个整数A、B、C,请判断A+B是否大于C。
输入格式
第一行给出正整数T(<=10),即测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。
输出格式
对每组测试用例,如果A+B>C,在一行输出“Case #x: true”;否则输出“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
思路
输入T,用以表示下面输入的数据组数,同时令tcase表示当前是第几组数据,初值为1。
对每组数据,判断A+B是否大于C:
1.若A+B>C,则输出Case #x: true,其中x是当前的tcase值。
2.否则,输出Case #x: false,其中x为当前的tcase值。
注意点
1.如果要实现执行T次的循环,除了使用for之外,更简洁的写法是while(T- -)。例如,
T=5;
while(T--){
printf("%d",T);
}
上面这个while循环就是执行T次的,不妨动手模拟一下T的变化过程。但是请不要写成(while(–T),因为这种写法是循环T-1次,而不是T次(不妨自己动手模拟一下)。
2.题目给出的范围是[-231,231],首先需要知道int 类型的范围是[-231,231-1],在最大值这里就会超过int型的范围。另外,两个int型变量相加,最后是可能超过int型的,因此在本题中,必须使用long long 作为ABC的变量类型,输入、输出格式必须是%lld,否则就会返回“答案错误”。
参考代码
//c++代码:
#include<iostream>
using namespace std;
int main(){
int T,tcase = 1;
cin>>T;
while(T--){
long long a,b,c;
cin>>a>>b>>c;
if(a + b>c){
cout<<"Case #"<<tcase++<<": true";
}else
cout<<"Case #"<<tcase++<<": false";
}
return 0;
}