#include <stdio.h>
#define N 10;
//打印分数
void printScore(int score[])
{
int i;
printf("\n");
for(i=0;i<N;i++)
{
printf("%d ", score[i]);
}
printf("\n");
}
//计算考试总分
int getTotalScore(int score[])
{
int i;
int sum = 0;
for(i = 0; i < N; i++)
{
sum += score[i];
}
return sum;
}
//计算最高分
int getMax(int score[])
{
int i;
int max = -1;
for(i=0; i<N; i++)
{
if(score[i] > max)
{
max = score[i];
}
}
return max;
}
//计算最低分
int getMin(int score[])
{
int i;
int min = 100;
for(i = 0; i < N; i++)
{
if(score[i] < min)
{
min = score[i];
}
}
return min;
}
//计算平均分
float getAvgScore(int score[])
{
return getTotalScore(score)/N;
}
// 分数降序排序
void sort(int score[])
{
int i, j;
int temp;
for(i=N-2;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;
}
}
}
/*
for(i = 0, i < N - 1, i++)
{
for(j = 0; j < N - i -1; j++)
{
if(score[j] < score[j + 1])
{
temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
}
*/
printScore(score);
}
int main()
{
int score[N]={67,98,75,63,82,79,81,91,66,84};
int sum, avg, max, min;
sum = getTotalScore(score);
avg = getAvgScore(score);
max = getMax(score); // EK:为什么数组可以不加[N]??????
min = getMin(score);
printf("总分是:%d\n", sum);
printf("最高分是:%d\n", max);
printf("最低分是:%d\n", min);
printf("平均分是:%d\n", average); // EK:设置成单精度?
printf("班级10个学生的考试成绩降序排序为:");
sort(score);
// EK:通过函数排序后,原数列排序变化了吗?
/*
EK:测试代码如下
int i;
for(i = 0; i < N; i++)
{
printf("%d ", score[i]);
}
*/
return 0;
}