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

#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

相关推荐

点赞 评论 收藏
分享
06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:10
直接上图
牛客13578115...:改得一般,不值80
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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