1011. 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

-------------------------------------分割线-----------------------------------

这道题目不是很难,一开始我做的提交是这个结果

但是提交,发现不对,再看看网上的代码,下载下来,运行发现这个结果

很显然这个跟题目要求的视觉效果不一致,很奇怪但是也通过了,搞不懂这个平台背后是怎么验证的。

另外,int型不是4个字节的吗?我在本地运行时的,难道浙大pat这个平台不是?不清楚诶

 1 #include "stdio.h"
 2 // #include "math.h"
 3 // #define N 10
 4 
 5 // int main(int argc, char const *argv[])
 6 // {
 7 //     int n;
 8 //     double a[N][3];
 9 //     while(scanf("%d", &n) != EOF)
10 //     {
11 //         int i;
12 //         if (n > 10 || n <= 0)
13 //         {
14 //             puts("error
");
15 //             exit(0);
16 //         }
17 //         // 输入
18 //         for (i = 0; i < n; ++i)
19 //         {
20 //             scanf("%lf %lf %lf", &a[i][0], &a[i][1], &a[i][2]);
21 //         }
22 //         // 计算输出
23 //         for (i = 0; i < n; ++i)
24 //         {
25 //             if(a[i][0] + a[i][1] > a[i][2])
26 //                 printf("Case #%d: true
", i+1);
27 //             else if(a[i][0] + a[i][1] >= pow(2, sizeof(31)))
28 //                 printf("Case #%d: true
", i+1);
29 //             else if(a[i][0] + a[i][1] <= 0 - pow(2, sizeof(31)))
30 //                 printf("Case #%d: false
", i+1);
31 //             else
32 //                 printf("Case #%d: false
", i+1);
33 //         }
34 //     }
35 //     return 0;
36 // }

原文地址:https://www.cnblogs.com/hello-lijj/p/6490269.html