美文网首页
1011A+B和C

1011A+B和C

作者: advanced_slowly | 来源:发表于2019-09-29 17:56 被阅读0次

    问题描述:
    给定区间 [−2​31,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整形可以存储整数的范围为(-231,231),所以定义long数据类型存储整数。

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int number;
        long number1,number2,number3;
        cin >> number;
        long num[10][3] = {0L};
        for (int i = 0 ; i < number ; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                cin >> num[i][j];
            }
        }
        for (int i = 0 ; i < number ; i++)
        {
            if ((num[i][0] + num[i][1]) > num[i][2])
            {
                cout << "Case #" << i + 1 << ": " << "true\n";
            }
            else
            {
                cout << "Case #" << i + 1 << ": " << "false\n";
            }
        }
        return 0;
    }
    

    或者我们直接使用一维数组存储输入的数据.考虑到时间复杂度的话优先使用一维数组求解。

    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        int number;
        cin >> number;
        long num[30] = {0L};
        for (int i = 0 ; i < number * 3 ; i++)
        {
            cin >> num[i];
        }
        for (int i = 0 ; i < number * 3 ; i += 3)
        {
            if ((num[i] + num[i+1]) > num[i+2])
            {
                cout << "Case #" << i / 3 + 1 << ": " << "true\n";
            }
            else
            {
                cout << "Case #" << i / 3 + 1 << ": " << "false\n";
            }
        }
    
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:1011A+B和C

          本文链接:https://www.haomeiwen.com/subject/queryctx.html