PAT_乙级1011

1011. A+B和C (15)

时间限制
100 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 #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

int main()
{
	int T;
	long long A,B,C;
	int a[10];
	scanf("%d",&T);
	int i;
	for(i=1;i<=T;i++)
	{
		scanf("%lld",&A);
		scanf("%lld",&B);
		scanf("%lld",&C);
		if(A+B>C)
				a[i]=0;
		else
				a[i]=1;
	}
	for(i=1;i<=T;i++)
	{
		printf("Case #%d: ",i);
		if(a[i]==0)
			printf("true\n");
		else if(a[i]==1)
			printf("false\n");
	}
	return 0;
}
PAT_乙级1011_第1张图片

这题做的非常不顺利,差不多花了一下午时间。
有以下几个问题:
1.因为题中测试的数范围比int大,所以要用long long定义。
2.用long long定义以后,C语言要用&lld输入,这点就可以看出c在对于输入输出时比c++麻烦。
3.对于输入格式问题,因为要都输入再输出,所以最开始想用字符串数组存false和true,但是忘记了c语言中如何定义字符串数组,百度以后用二维数组也依然有错误。现在还没有解决。
4.后来想到用0和1代替true和false,这样写法也简单,毕竟15分的题精力应该不用花费太多。
5.对于数值范围好像应该再补补,对于vs2010调试问题,得到了很好的经验,明天看完试一下。应该再看看c++,输入输出很简单。

你可能感兴趣的:(PAT_乙级1011)