慕田峪9069542
2020-12-25 12:37
#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
float suma=(float)sum/10;
printf("小明泡妞平均数%.1f\n",suma);
将sum改成浮点型的。因为整形除以整形还是整形,即使你定义suma是浮点型也没用
你的suma是用sum除以10算的,suma是浮点型没错,但你sum是整型,整型除以10当然会去掉小数点后面,你可以把sum也改为浮点型试试(我也才学,大佬看到错误麻烦指正)
C语言入门
926026 学习 · 20793 问题
相似问题