给定区间 [−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>
#include<string>
using namespace std;
int main()
{
int n, m = 1, i = 0, j;
long int a, b, c; //根据题意要求,需要用 long int 类型
cin >> n;
string S[4]; // PAT 提交时,将4改为 n 即可
while (n)
{
cin >> a >> b >> c;
if (a + b > c)
{
S[i] = "Case #" + to_string(m) + ": true"; //将处理结果存入字符串数组,整数型 m 转化为 string 型,作为用例编号
i++;
}
else
{
S[i] = "Case #" + to_string(m) + ": false";
i++;
}
m++;
n--;
}
for (j = 0; j < i; j++) //控制输出字符串数组中保存的处理内容
{
cout << S[j];
if (j != i - 1)
cout << endl;
}
return 0;
}
注:本题最主要的地方就是数据类型的选择,要根据题目要求选择合适的数据类型;其他需要注意的地方已在代码中注释。