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

C语言体重判断代码始终输出太胖,如何调整才能获得正确输出?

C语言体重判断代码问题分析

核心错误点

  • 输入格式类型不匹配
    height、weight变量是double双精度浮点类型,但scanf读取时使用了适配整型的%d格式符,类型不匹配会触发C语言未定义行为,读取到的变量值为异常垃圾值,是无论输入什么都固定输出"too fat"的直接原因。
    修复方式:将输入语句修改为scanf("%lf %lf", &height, &weight);,%lf是double类型对应的输入格式符。
  • 体重判断逻辑错误
    1. 对比时无意义对weight乘以0.5,不符合「实际体重和标准体重对比」的业务规则
    2. 阈值判断的条件符号写反,分支逻辑完全混乱
      修复后的判断逻辑参考:
    // 实际体重超过标准体重10%判定为偏胖
    if (weight - standardweight > standardweight * 0.1)
        printf("You are too fat!\n");
    // 实际体重低于标准体重10%判定为偏瘦
    else if (standardweight - weight > standardweight * 0.1)
        printf("You are too thin!\n");
    else
        printf("You are wan mei!\n");
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:27:03