程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> PAT 07-2 A+B和C,pat07-2

PAT 07-2 A+B和C,pat07-2

編輯:關於C語言

PAT 07-2 A+B和C,pat07-2


有兩個值得注意的地方: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\n", 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\n");
        else
            printf("false\n");
    }
    
//    fclose(stdin); // for test
    
    return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved