B1011. A+B和C (15)
给定区间[-231, 231]内的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 <cstdio>
using namespace std;
/*
碰到的问题:
1、怎么动态的记录4组数?
想叉了,不是要一次性输入4组之后,一次性判断,而是输一次,判断一次,所以判断程序放在while里面没问题
2、2的31次方用什么类型比较好?
int有4字节,刚好32为,可以表示到正负2的31次方,所以用本题用int刚刚好;
后来发现在提交的时候,老是报答案错误,原来尽管输入的范围是正负2的31次方,但是如果两个int型变量相加,最后结果
是可能超过int型的,因此必须用long long 类型,64位的;而输入格式是%lld,可能在codeblock中会无法识别,但是oj一般是
linux系统的,是支持%lld,事实也证明可以通过;
3、最开始报错是printf的输出格式不对,像这种情况一点要复制题目的输出格式,不能自己写,复制黏贴是最保险不会错的;
4、scanf除了%c之外,是以空格为结束符的,所以scanf中加不加空格都没效果,只要输入的时候,输入空格就好了;
*/
int main()
{
int n,i=1;
long long a,b,c;
scanf("%d",&n);
while(n--)
{
scanf("%lld %lld %lld",&a,&b,&c);
if(a+b>c)
{
printf("Case #%d: true\n",i++);
}
else
{
printf("Case #%d: false\n",i++);
}
}
return 0;
}