zoukankan      html  css  js  c++  java
  • PAT 07-2 A+B和C

    有两个值得注意的地方:1、变长数组(VLA)的使用,没想到PAT上的OJ竟然支持C99,一开始不知道就没用,看了看别人的,既然,还是用吧, 它有一点我不太喜欢,它不能像一般数组那样在声明时通过赋一个0让全部元素初始化为零,等等,有点理解了。2、long long长整型的格式化输入输出,都要在"%d"中间插入"ll",所以,算了吧,还是定义一个临时变量更方便。题设要求及代码实现如下

    /*
        Name: 
        Copyright: 
        Author: 
        Date: 01/04/15 15:16
        Description: 
    给定区间[-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 <stdio.h>
    
    int main()
    {
    //    freopen("in.txt", "r", stdin); // for test
        
    //    printf("%d %d %d
    ", sizeof(int), sizeof(long), sizeof(long long)); // for check
        
        int i, T, A, B, C;
        long long tmp;
        
        scanf("%d", &T);
        
        int result[T];
    //    for(i = 0; i < T; i++)        // for check
    //        printf("%d ", result[T]);
        
        for(i = 0; i < T; i++)
        {
            scanf("%d%d%d", &A, &B, &C);
            
            tmp = (long long)A + B;
            if(tmp > C)
                result[i] = 1;
            else
                result[i] = 0;
        }
        
        for(i = 0; i < T; i++)
        {
            printf("Case #%d: ", i + 1);
            if(result[i])
                printf("true
    ");
            else
                printf("false
    ");
        }
        
    //    fclose(stdin); // for test
        
        return 0;
    }
  • 相关阅读:
    shuffle过程分析
    自定义分组
    自定义排序及Hadoop序列化
    MapReduce常见算法
    Partitioner
    Combiner
    自定义Counter使用
    WordCount_命令行运行时指定参数
    老的API实现WordCount
    Hadoop自定义类型处理手机上网日志
  • 原文地址:https://www.cnblogs.com/qingkai/p/4384349.html
Copyright © 2011-2022 走看看