B1011. A+B和C(15)

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;
}

猜你喜欢

转载自blog.csdn.net/weixin_42892543/article/details/85041176
今日推荐