1. 程式人生 > >PAT乙級——1001 A+B和C (C/C++)

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

       輸出: