请大神看看平均分的算法对不对
为什么算出来的平均分是79.6?应该是78.6啊!
2015-07-13
#include <stdio.h>
int sum(int score[])
{
int sum=0;
int i;
for(i=0;i<10;i++)
{
sum+=score[i];
}
return sum;
}
int max(int score[])
{
int max,i;
max=score[0];
for(i=0;i<10;i++)
{
if(score[i]>max)
max=score[i];
}
return max;
}
int min(int score[])
{
int min,i;
min=score[0];
for(i=0;i<10;i++)
{
if(score[i]<min)
min=score[i];
}
return min;
}
float ave(int score[])
{
float ave;
int i,sum=0;
for(i=0;i<10;i++)
{
sum+=score[i];
}
ave=sum*0.1;
return ave;
}
int dgr(int score[])
{
int i,j,k,temp;
for(i=0;i<10;i++)
{
for(j=9;j>i;j--)
{
if(score[j]>score[j-1])
{
temp=score[j-1];
score[j-1]=score[j];
score[j]=temp;
}
}
}
printf("学生的考试成绩降序排序为:");
for(k=0;k<10;k++)
{
printf("%d ",score[k]);
}
}
int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
printf("学生的考试总分为:%d分\n",sum(score));
printf("学生的考试最高分为:%d分\n",max(score));
printf("学生的考试最低分为:%d分\n",min(score));
printf("学生的考试平均分为:%0.1f分\n",ave(score));
dgr(score);
return 0;
}举报