为什么这个编译能通过,但是输出之后又重复的?
#include <stdio.h>//函数内定义的东西只能作用于这个函数
//计算总分和平均分
int getSumScore(int score[])
{
int i;
int average;//平均分
int sum=0;
for(i=0;i<10;i++)
{
sum+=score[i];
}
printf("总分为%d\n",sum);
average=sum/10;
printf("平均分为%d\n",average);
return average;
}
//计算最高分
int maxScore(int score[])
{
int max=-1;
int j;
for(j=0;j<10;j++)
{
if(score[j]>max)
{
max=score[j];
printf("最高分为%d\n",max);
}
}
return max;
}
//计算最低分
int minScore(int score[])
{
int min=100;
int k;
for(k=0;k<10;k++)
{
if(score[k]<min)
{
min=score[k];
printf("最低分为%d\n",min);
}
}
return min;
}
//考试成绩降序排序
void sort(int score[])
{
int x,y,z;
for(x=8; x>=0; x--)//一共10个数,需要比较9次,0~8是9个数
{
for(y=0;y<=x;y++)
{
if(score[y]<score[y+1] ) //当前面的数比后面的数大时
{
int temp; //定义临时变量temp
temp=score[y]; //将前面的数赋值给temp
score[y]=score[y+1]; //前后之数颠倒位置
score[y+1]=temp; //将较大的数放在后面
}
}
}
printf("---成绩排名---\n");
for(z=0;z<10;z++)
{
printf(" %d ",score[z]);
}
}
int main()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
getSumScore(score);
maxScore(score);
minScore(score);
sort(score);
return 0;
}