问答详情
源自:6-12 综合练习

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

#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]);

        }


提问者:土豪码农 2016-08-17 00:59
微课

个回答

  • 大胶布
    2016-08-27 10:06:20
    已采纳

    av=all/10;

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

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

  • 土豪码农
    2016-08-17 01:04:06

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