C语言:已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从最高到低将各学生的成绩

这是详细问题: C语言:已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从最高到低将各学生的成绩排序记录(成绩最高的学生的排在数组最前面的行,成绩最低的学生的排在数组最后面的行)?

#include<iostream>
using namespace std;

void main()
{
int i,j,sum,t;
int a[5][5]=,,,,}; //5*5够用了
printf("\n");
for (i=0;i<5;i++)
{ sum=0;
for(j=0;j<4;j++) //加前4个成绩
sum+=a[i][j];
a[i][4]=sum/4;}//平均值除4!存在下标为4的元素内;
for(int k=0;k<5;k++)// 加了层循环 参看起泡法
for(i=0;i<5-k;i++)
if(a[i][4]<a[i+1][4])//条件移到循环外了
for(j=0;j<5;j++)

for(i=0;i<5;i++)
{for(j=0;j<5;j++)
printf("%8d",a[i][j]);
printf("\n");}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-05-24
平均成绩计算比较容易,计算出平均成绩后保存到数组里
然后使用排序算法进行排序,冒泡排序,快速排序,书上一定有,你要不看书就没办法了~本回答被网友采纳