为了账号安全,请及时绑定邮箱和手机立即绑定

为什么平均分没有小数,求大神

#include <stdio.h>

int main()

{   int all=0;

    int n,j,temp;

    float av;//平均分这里这里这里

    int score[]={67,98,75,63,82,79,81,91,66,84};

    int max=score[0];

    int min=score[0];

    for(n=0;n<10;n++)

    {   all+=score[n];

    

        if(score[n]>max)

        {max=score[n];

    }

        if(score[n]<min)

        {min=score[n];

    }

    }

    for(n=9;n>0;n--)

    {

        for(j=0;j<n;j++)

        {   if(score[j]<score[j+1])

            {temp=score[j];

            score[j]=score[j+1];

            score[j+1]=temp;

            }

        }

    }

    av=all/10;//平均分为什么不是小数,为什么为什么为什么啊,总分明明是786.平均分应该是78.6啊啊啊啊啊啊

    printf("总分是:%d.最高分是:%d.最低分是:%d.平均分是:%.1f.",all,max,min,av);

    printf("考试成绩降序:");

    for(n=0;n<10;n++)

    {   if(n!=9)

        {   printf("%d,",score[n]);

        }

        else

        {

            printf("%d",score[n]);

        }


正在回答

2 回答

av=all/10;

这里all是整数,10是整数,计算结果也会默认是整数,为78,然后转换成float类型78.0

可以这么写:av = all/(10*1.0);

1 回复 有任何疑惑可以回复我~
#1

土豪码农 提问者

非常感谢!
2016-08-28 回复 有任何疑惑可以回复我~

为什么结果会是78.0.为什么为什么

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926207    人
  • 解答问题       20797    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

为什么平均分没有小数,求大神

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信