用二维数组输入全班20个学生5门功课的成绩,求出各门功课的平均分,统计每个人的总分,并按降序排列并输出。
(排序算法为冒泡或选择,排序用函数完成)[输入]20个学生的5门功课的成绩。
[输出]数学平均分:….
平均分:…….
班级名次:….
有注释
#include "stdio.h"
void main()
{
int score[20][5], i,j;
float average[20],sum,buf;
printf("请分别输入20个学生的成绩:\n");
for(i=0;i<20;i++)
{
sum=0;
for(j=0;j<5;j++)
{scanf("%d",&score[i][j]);
sum+=score[i][j];
}
average[i]=sum/5;
}
for (i=0; i<n-1; ++i) //比较n-1轮
{
for (j=0; j<n-1-i; ++j) //每轮比较n-1-i次,
{
if (average[j] < average[j+1])
{
buf = average[j];
average[j] = average[j+1];
average[j+1] = buf;
}
}
}
for(i=0;i<20;i++)
printf("第%d个学生的平均成绩为:%f\n",i+1,average[i]);
}