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

求指点,为什么平均分结果不对

#include <stdio.h>

int main()

{

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

 int i,j,sum=0;

 double suma=0;

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

 {

     sum +=score[i];

  }

 printf("考试总分是%d\n",sum);

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

{

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

    {

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

        {

            int temp;

            temp=score[j];

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

            score[j+1]=temp;

        }

    }

}

  suma =sum /10;

  printf("最高分数%d\n",score[0]);

      printf("最低分数%d\n",score[9]);

      printf("平均分数%.2f\n",suma);

  

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

  {

      

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

     

}

return 0;

}    

平均分应该是78.6,为何我结果是78

提问者:慕田峪9069542 2020-12-25 12:37

个回答

  • qq_慕丝4581239
    2021-04-24 14:31:46

    float suma=(float)sum/10;

    printf("小明泡妞平均数%.1f\n",suma);

  • 精慕门5089460
    2021-03-02 11:13:06

    将sum改成浮点型的。因为整形除以整形还是整形,即使你定义suma是浮点型也没用

  • 不过过眼云烟
    2021-01-18 19:13:49

    你的suma是用sum除以10算的,suma是浮点型没错,但你sum是整型,整型除以10当然会去掉小数点后面,你可以把sum也改为浮点型试试(我也才学,大佬看到错误麻烦指正)