求平均值(坑点-数据精度)

#include<stdio.h>

int main()
{
    int a,b,c;
    double average_value;

    scanf("%d%d%d",&a,&b,&c);
    average_value = (double)((a+b+c)/3);//

    printf("%.6lf",average_value);
    return 0;
}

当上面的3变成3.0的时候就通过了,不知道为什么。个人感觉是因为整数之间运算仍然是整数,而浮点数和整数之间的运算,最后的结果是浮点数。

全部评论
是的
点赞 回复 分享
发布于 2019-10-17 13:39
我觉得你有了(double)就能通了。 我的这个就通过了  #include<stdio.h> int main(){     int a,b,c;     double  d;     scanf("%d%d%d",&a,&b,&c);     d=(double)(a+b+c)/3;     printf("%lf",d);     return 0; }
点赞 回复 分享
发布于 2021-10-16 10:04

相关推荐

不愿透露姓名的神秘牛友
11-21 19:05
点赞 评论 收藏
分享
最近和朋友聊天,她说了句让我震惊的话:"我发现我连周末点外卖都开始'最优解'了,一定要赶在高峰期前下单,不然就觉得自己亏了。"这不就是典型的"班味入侵"吗?工作思维已经渗透到生活的方方面面。
小型域名服务器:啊?我一直都这样啊?我还以为是我爱贪小便宜呢?每次去实验室都得接一杯免费的开水回去,出门都得规划一下最短路径,在宿舍就吃南边的食堂,在实验室就吃北边的食堂,快递只有顺路的时候才取。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务