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

#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的时候就通过了,不知道为什么。个人感觉是因为整数之间运算仍然是整数,而浮点数和整数之间的运算,最后的结果是浮点数。

全部评论
我觉得你有了(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
是的
点赞 回复 分享
发布于 2019-10-17 13:39

相关推荐

07-18 18:44
已编辑
中山职业技术学院 Java
投递文远知行等公司10个岗位
点赞 评论 收藏
分享
LazyBreeze:项目尽量体现你对技术的理解和深度,不是说把中间件用一下就完事了,你项目里面提到集群和分布式,你真在服务器上部署过吗,感觉太假了,第二个项目说自己用了微服务的什么组件,只是用了没有自己的思考,很难让面试官注意到你的简历。针对某几个技术点自己多思考一下,考虑一下有没有别的替代方案,可以写一下,即使没有真的实现
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务