学生成绩管理问题,求高人指点,只学到函数那一章,所以请用循环和数组做
题目要求如下,由键盘输入n(n不大于1000)个学生的m(m不大于10)门课程的成绩,要求(1)将学生按总分由高到低排序,
按格式要求输出排序后的结果(一行一个学生信息);(2)输出每一门成绩的平均分,保留一位小数。
如图
[键盘输入]
5 3 代表5个学生,3门课
90 70 75 第一个学生三门课成绩
89 67 78
87 65 98
97 86 77
88 96 82
[正确输出]
88 96 82
97 86 77
87 65 98
90 70 75
89 67 78
90.2 76.8 82
小弟的代码如下,求指导,对新人来说有点难度,我地很多同学基本不会做,非常感谢大神,衷心感谢
#include <stdio.h>
int main()
{
int i,j,k,n,m;
double t,ave,a[1000][10],b[1000],c[10];
scanf("%d %d\n",&n,&m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{scanf("%f\n",&a[i][j]);
b[i]+=a[i][j];
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(b[j]>b[k]) k=j;
}
if(k!=i) {
t=b[i];b[i]=b[k];b[k]=t;}
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
printf("%f\n",a[i][j]);
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
c[j]=a[i][j];
ave=c[j]/n;
printf("%1f ",ave);
}
return 0;
}