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\n"); 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\n", i+1); 27 // else if(a[i][0] + a[i][1] >= pow(2, sizeof(31))) 28 // printf("Case #%d: true\n", i+1); 29 // else if(a[i][0] + a[i][1] <= 0 - pow(2, sizeof(31))) 30 // printf("Case #%d: false\n", i+1); 31 // else 32 // printf("Case #%d: false\n", i+1); 33 // } 34 // } 35 // return 0; 36 // }