PAT乙级——1001 A+B和C (C/C++)

时间限制 1000 ms  内存限制 32768 KB  代码长度限制 100 KB

题目描述

给定区间[-2的31次方, 2的31次方]内的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
              这道题比较容易,注意一下数据范围和边界即可。


             贴代码:

#include <iostream>

using namespace std;

typedef long long LL;

// 注意溢出
bool isAplusBbiggerC(LL A, LL B, LL C)
{
	return (A + B > C) ? true : false;
}

int main1001(void)
{
	int T;
	cin >> T;

	int A, B, C;

	int cntCase = 0;
	while(cntCase++ < T)
	{
		cin>>A>>B>>C;

		if(isAplusBbiggerC(A, B, C))
		{
			cout<<"Case #"<<(cntCase)<<": true"<<endl;
		}
		else
		{
			cout<<"Case #"<<(cntCase)<<": false"<<endl;
		}
	}

	return 0;
}

注:
       一组特殊的测试数据
           1
           -2147483648 -2147483648 -2147483648

       输出:
           

你可能感兴趣的:(PAT训练)