土豪码农
2016-08-17 00:59
#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]);
}
av=all/10;
这里all是整数,10是整数,计算结果也会默认是整数,为78,然后转换成float类型78.0
可以这么写:av = all/(10*1.0);
为什么结果会是78.0.为什么为什么
C语言入门
926025 学习 · 20793 问题
相似问题