l不败 发表于 2017-9-28 16:50:02

pat试题,A+B和C

第一次发帖,新人贴,还望多多给力
给定区间[-2^31, 2^31]内的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<stdio.h>
int main()
{
        int i = 0, num, sb;
        int a = 0, b = 1, c = 2,d = 0, e = 1, f = 2;
        scanf("%d", &num);
        while (i < num)
        {
                scanf("%d %d %d", &sb, &sb, &sb);
                i++;
                a = a + 3, b = b + 3, c = c + 3;
        }
        for (int k = 0; k < num; k++)
        {
                if ((sb + sb)>sb)
                {
                printf("Case #%d: true\n", (k + 1));
                }
                else
                printf("Case #%d: false\n", (k+ 1));
                d = d + 3, e = e + 3, f = f + 3;
                }
        return 0;
}
我蛮好奇的,纯粹交给计算机判断大小,为什么我其他数输入进去,是没问题的。-2147483648 这个数连着输入3遍,竟然是错误的

eglym 发表于 2017-9-29 23:03:06

本帖最后由 eglym 于 2017-9-29 23:05 编辑

当你的输入为三个 -2147483647的时候
在计算的过程之中会出现溢出的吧。。
#include<stdio.h>
int main()
{
      int i = 0, num, sb;
      int a = 0, b = 1, c = 2,d = 0, e = 1, f = 2;
      scanf("%d", &num);
      while (i < num)
      {
                scanf("%d %d %d", &sb, &sb, &sb);
                i++;
                a = a + 3, b = b + 3, c = c + 3;
      }
      for (int k = 0; k < num; k++)
      {
                printf("%d\n",sb + sb);
                if ((sb + sb)>sb)
                {
                printf("Case #%d: true\n", (k + 1));
                }
                else
                printf("Case #%d: false\n", (k+ 1));
                d = d + 3, e = e + 3, f = f + 3;
                }
      return 0;
}

我将两个相加之后的结果输出为2..
就酱~~~

去年我参加过PAT结果就最后一题拿到了5分,其他的没有注意格式。。结果最后成绩为5分,哭死。。。已然是一条咸鱼了

l不败 发表于 2017-10-1 07:45:56

eglym 发表于 2017-9-29 23:03
当你的输入为三个 -2147483647的时候
在计算的过程之中会出现溢出的吧。。



pat考试,不是提交之后,可以看成绩的嘛,没有得分改格式,继续试,不就行了。。为毛,,会得5分
页: [1]
查看完整版本: pat试题,A+B和C