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

C语言中如何输出double类型变量并保留三位小数?含代码场景咨询

在C语言中输出保留三位小数的double类型变量

要将double类型变量输出为保留三位小数的格式,你需要修改printf的格式控制符,同时还要注意原代码中的除法计算问题——整数除法会导致结果截断,无法得到正确的浮点平均值。

关键修改点

  1. 修正除法计算:
    原代码里sum和count都是int类型,sum/count执行的是整数除法,结果会直接截断小数部分(比如5/2得到2而非2.5)。需要将其中一个操作数强制转换为double,触发浮点数除法:

    double result = (double)sum / count;
    
  2. 修改输出格式:
    使用printf的%.3f格式控制符,其中:

    • %f用于输出double类型(float会自动提升为double)
    • .3指定保留三位小数,输出时会自动四舍五入

修正后的完整代码

void avg(int sum, int count){
    double result = (double)sum / count;
    printf("running average is %d/%d = %.3f\n", sum, count, result);
}

举个例子:当sum=7、count=3时,输出会是running average is 7/3 = 2.333;当sum=5、count=2时,输出为running average is 5/2 = 2.500。

内容的提问来源于stack exchange,提问作者Ali Asadullah Shah

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:25:22