問(wèn)題描述:
給定區(qū)間 [?2?31,231] 內(nèi)的 3 個(gè)整數(shù) A吟逝、B 和 C,請(qǐng)判斷 A+B 是否大于 C块攒。
輸入格式:
輸入第 1 行給出正整數(shù) T (≤10),是測(cè)試用例的個(gè)數(shù)囱井。隨后給出 T 組測(cè)試用例,每組占一行庞呕,順序給出 A、B 和 C料祠。整數(shù)間以空格分隔骆捧。
輸出格式:
對(duì)每組測(cè)試用例,在一行中輸出 Case #X: true 如果 A+B>C敛苇,否則輸出 Case #X: false顺呕,其中 X 是測(cè)試用例的編號(hào)(從 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
本題使用二維數(shù)組來(lái)存儲(chǔ)四行三列數(shù)據(jù)。并且注意到有符號(hào)的int整形可以存儲(chǔ)整數(shù)的范圍為(-231,231),所以定義long數(shù)據(jù)類型存儲(chǔ)整數(shù)启盛。
#include <iostream>
using namespace std;
int main()
{
int number;
long number1,number2,number3;
cin >> number;
long num[10][3] = {0L};
for (int i = 0 ; i < number ; i++)
{
for (int j = 0; j < 3; j++)
{
cin >> num[i][j];
}
}
for (int i = 0 ; i < number ; i++)
{
if ((num[i][0] + num[i][1]) > num[i][2])
{
cout << "Case #" << i + 1 << ": " << "true\n";
}
else
{
cout << "Case #" << i + 1 << ": " << "false\n";
}
}
return 0;
}
或者我們直接使用一維數(shù)組存儲(chǔ)輸入的數(shù)據(jù).考慮到時(shí)間復(fù)雜度的話優(yōu)先使用一維數(shù)組求解。
#include <iostream>
using namespace std;
int main()
{
int number;
cin >> number;
long num[30] = {0L};
for (int i = 0 ; i < number * 3 ; i++)
{
cin >> num[i];
}
for (int i = 0 ; i < number * 3 ; i += 3)
{
if ((num[i] + num[i+1]) > num[i+2])
{
cout << "Case #" << i / 3 + 1 << ": " << "true\n";
}
else
{
cout << "Case #" << i / 3 + 1 << ": " << "false\n";
}
}
return 0;
}