c语言问题,请大家解答

题目:给定区间[-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

对于网上的答案,都没法做到在输入四组数据后再显示四组结果,我自己也想了很久,请问解题的核心是啥呢

如果一定要获取输入后再统一显示计算结果,可以定义一个数组存储T组数据的判断结果,因为题目给定T最大为10,所以可以使用10个元素的int数组来存储结果,获取输入后再统一显示计算结果。

代码如下:

参考链接:

#include <stdio.h>

int main(void){
    
    int result[10];
    
    int i,n,a,b,c;
    scanf("%d",&n);    
    for(i=0;i<n;i++){
        scanf("%d%d%d",&a,&b,&c);
        
        // 将每组的计算结果存储在数组中 
        if((a+b)>c){ 
            result[i]=1;
        }else{
            result[i]=0;
        }
    }
    // https://baijiahao.baidu.com/s?id=1747926945905574418
    //  获取输入与计算完成后,统一显示每组的测试结果 
    for(i=0;i<n;i++){
        
        if(result[i]==1){
            printf("Case #%d: true",i+1);
        }else{
            printf("Case #%d: false",i+1); 
        }
        
        if(i<n-1){
            printf("\n");
        }
    }
    
    return 0;
} 


img

#include <stdio.h>

int main()
{
    int T, i;
    long long A, B, C;

    scanf("%d", &T); // 读取测试用例数量

    for (i = 1; i <= T; i++) {
        scanf("%lld %lld %lld", &A, &B, &C); // 读取A、B和C

        if (A + B > C) {
            printf("Case #%d: true\n", i); // A + B > C,输出true
        } else {
            printf("Case #%d: false\n", i); // A + B <= C,输出false
        }
    }

    return 0;
}


用了long long类型来存储输入数据,因为题目中给出的数据范围是[-231, 231],超过了int类型的表示范围。

平台上的测试用例是一次性输入的,不需人工输入,不会出现你担心的问题,所以最终显现的就是和样例一样的效果。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^