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

C语言三维数组求最大值异常排查:程序始终输出初始值9.6

三维温度数组最大值查找的错误修正

你的代码始终输出初始值9.6的原因是最大值更新逻辑完全写反:

  • 当发现当前温度值大于当前记录的最大值时,你错误地将数组元素的值覆盖为max,而不是把max更新为这个更大的温度值。

修正后的核心函数代码:

double max_temperature_week(double temperature[52][7][24]){
    int i,j,k;
    double max = temperature[0][0][0];
  
    for(i = 0; i < 52; i++){
        for(j = 0; j < 7; j++){
            for(k = 0; k < 24; k++){
                if(temperature[i][j][k] > max){
                    max = temperature[i][j][k]; // 修正赋值方向,更新max为更大的值
                }
            }
        }
    }
  
    return max;
}

补充说明:

  • 你的数组仅初始化了第一周的数据,剩余51周会被自动初始化为0,但这不会影响结果——现有数据中的最大值是10.2,修正后程序会正确输出该值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:31:08