小白大战PAT:乙级1011

一、题目信息

给定区间[-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开始)。

二、基本思路

想过两条思路:第一种是将需要比较的三个数字存储在三个long型变量中,每输入三个数字即刻反馈结果,单个for循环即可;第二种思路是先对所有需要考察的数值统一存入一个long型数组中,然后在进行for循环比大小,这时候需要两个for循环。

三、具体实现代码与遇到的问题

(一)从第二种思路说起

先放上代码:

#include<stdio.h>

int main()

{

    long A[30];

    int n,signal,i;/*n用来存样例个数,signal第一次用来吃回车,第二次用来顺序读输入(或者吃掉空格),i用来执行循环(一次或两次)*/

    n = getchar() - 48/*得到的是单个字符,%d时是ASCII码值*/

    signal = getchar();

    for(i=0;i<3*n;i+=3)

    {

        scanf("%ld %ld %ld", &A[i],&A[i+1],&A[i+2]);

      /*  signal = getchar();*/

        printf("A[%d]=%ld,n=%d\n", i,A[i],n);

      /*  i++;*/

    }

    for(i = 3; i/3<=n;i+=3)

    {

        if(A[i-3] + A[i-2] > A[i-1])

            printf("Case #%d: true\n", i/3);

        else

            printf("Case #%d: false\n", i/3);

    }

}

查看提交

评测结果

时间 结果 得分 题目 语言 用时(ms) 内存(kB) 用户
4月24日 15:34 答案正确 15 1011 C (gcc 4.7.2) 1 264 chauncyyoung

测试点

测试点 结果 用时(ms) 内存(kB) 得分/满分
0 答案正确 1 256 9/9
1 答案正确 1 264 3/3
2 答案正确 1 260 3/3


代码中包含了测试不同方法,用备注的形式注明了;不同参数在不同阶段的调用目的也用备注形式写明了。

遇到的问题:

1、getchar()取值。getchar获取的是单个字符,所以除0-9的数字只能单个数字获取;且获取的数字是以字符存储,所以用于循环比大小或者数值运算时,

千万千万要记得这一点!!!

避免方法和代码中相同,即读取0-9的数字后-48,即为ASCII码对应的数值;

2、scanf()读取数值的问题。scanf是以空格、换行后停止读入,所以既可以每次读入一个,也可以一次读入多个,开心就好。也不需要用getchar吃掉空格和换行符,因为scanf已经选择性无视它们了;

 
 

(一)接下来是第一种思路

先放上代码:

#include<stdio.h>

int main()

{

    long A,B,C;

    int n,signal,i; 

    n = getchar() - 48/*得到的是单个字符,%d时是ASCII码值*/

    signal = getchar();

    for(i=1;i<=n;i++)

    {

        scanf("%ld %ld %ld", &A,&B,&C);

        if(A+B>C)

            printf("Case #%d: true\n", i);

        else

            printf("Case #%d: false\n", i);

    }

}

评测结果

时间 结果 得分 题目 语言 用时(ms) 内存(kB) 用户
4月24日 15:36 答案正确 15 1011 C (gcc 4.7.2) 1 384 chauncyyoung

测试点

测试点 结果 用时(ms) 内存(kB) 得分/满分
0 答案正确 1 264 9/9
1 答案正确 1 384 3/3
2 答案正确 1 384 3/3


运行时间几乎相同但是内存占用更大一丢丢,至于为什么...暂时不清楚,等日后了解了再更新吧~

猜你喜欢

转载自blog.csdn.net/chauncyyoung/article/details/80064918