请问一下各位为什么我这里面的平均分没有精确到前两位和为什么最低分是-1000000多
#include <stdio.h>
int ZF(int score[]);
float PG(int score[]);
int ZG(int score[]);
int ZD(int score[]);
int PX(int score[]);
int main()
{
int i;
int score[10]={67,98,75,63,82,79,81,91,66,84};
printf("总分为:%d\n",ZF(score));
printf("平均分为:%2f\n",PG(score));
printf("最高分为:%d\n",ZG(score));
printf("最低分为:%d\n",ZD(score));
PX(score);
printf("考试成绩降序排序%d\n",PX(score));
for(i=0;i<10;i++)
{
if(i!=9) printf("%d,",score[i]);
else printf("%d",score[i]);
}
return 0;
}
int ZF(int score[])
{
int i, sum;
for(i=0;i<10;i++)
{
sum+=score[i];
}
return sum;
}
float PG(int score[])
{
float avg=0.0;
avg=((float)ZF(score))/10;
return avg;
}
int ZG(int score[])
{
int i,max=score[i];
for(i=0;i<10;i++)
{
if(max<score[i])
{
max=score[i];
}
}
return max;
}
int ZD(int score[])
{
int i,mai=score[i];
for(i=0;i<10;i++)
{
if(mai>score[i])
{
mai=score[i];
}
}
return mai;
}
int PX(int score[])
{
int i,j,value=0;
for(i=9;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(score[j]<score[j+1])
{
value=score[j];
score[j]=score[j+1];
score[j+1]=value;
}
}
}
return value;
}