1011. A+B和C (15)
时间限制
150 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
作者
HOU, Qiming
给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。
输入格式:
输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。
输出格式:
对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #
输入样例: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<stdio.h>
int main(){
int n;
long a,b,c;
scanf("%d",&n);
int i = 1;
while(n --){
scanf("%ld %ld %ld",&a,&b,&c);
if(a + b >c){
printf("Case #%d: true\n",i);
}else{
printf("Case #%d: false\n",i);
}
i++;
}
}
其实这是一道很简单的题,但博主没能一次ac。他给出了测试数据的
范围,整形存不下,我想到了使用字符型存数据,大数相加。但这想偏了。
一个字节等于8位。整形两个字节,等于16位。存储的最大的数据为2
的16次幂减一(减得是零)。而长整型是32位的。所以使用长整型存数
据就好了。最后选择的存储结构是长整型(long long int 也行)。
然后出现的问题是不满足要求输出的格式,少加空格,还有最后没
加\n。下一次,直接把规定输出的例子复制printf里面就可以
避免前一种错误,后者下次要注意。