You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeBlocks如何设置输入全部内容后再统一输出结果?

解决输入完所有内容后统一输出结果的问题

你的代码当前会在每输入一组测试用例后立即输出结果,要实现输入完成后统一输出,核心思路是先把每个测试用例的结果存储起来,等所有输入处理完毕后再一次性输出。

修改后的代码

#include <stdio.h>

int main(void) {
    int t, a, b, c;
    scanf("%d", &t);
    // 定义数组存储每个测试用例的结果
    const char* results[t];
    
    for (int i = 0; i < t; i++) {
        scanf("%d %d %d", &a, &b, &c);
        // 仅判断结果并存入数组,不立即输出
        if (a + b == c || b + c == a || a + c == b) {
            results[i] = "YES";
        } else {
            results[i] = "NO";
        }
    }
    
    // 所有输入处理完成后,统一输出所有结果
    for (int i = 0; i < t; i++) {
        printf("%s\n", results[i]);
    }
    
    return 0;
}

关键改动说明

  • 新增const char* results[t]数组,用来保存每个测试用例的结果字符串("YES"或"NO")。
  • 原循环中的printf操作被替换为结果存入数组的逻辑,避免即时输出。
  • 新增第二个循环,在所有输入处理完成后,遍历数组逐个输出结果。

如果你的C语言环境不支持变长数组(如遵循C89标准),可以改用动态内存分配或者预设一个合理的固定大小数组(比如const char* results[1000];,假设测试用例数不超过1000)。

内容的提问来源于stack exchange,提问作者Rikozz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:07:49