C++ 已知每个学生的数据包括学号,班级,姓名,三门课(数学,物理和化学)成绩.

学生成绩管理
已知每个学生的数据包括学号、班级、姓名、三门课(数学、物理和化学)成绩。从键盘输入 N 个学生数据,要求打印出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、班级、姓名、三门课成绩,平均分)。要求需以平均分的降序输出相应的学生成绩数据。

求大神写一下这道题的代码感激不尽!!!网上的基本都不是一道题的,救命!!

#include<stdio.h>
void main()
{
float subject[100][4];
float avg=0.0;
int i,n=1;
printf("请输入人数:\n\n");
while(n)
{
scanf("%d",&n);
if(n<1)
printf("\n请正确输入:\n\n");
else
break;
}
printf("\n请输入学生的成绩:\n\n");
for( i=0;i<n;i++)
{
printf("\n第%d名学生的数理化成绩分别为:\n\n",i+1);
scanf("%f%f%f",&subject[i][0],&subject[i][1],&subject[i][2]);
if(subject[i][0]<0||subject[i][0]>100||subject[i][1]<0||
subject[i][1]>100||subject[i][2]<0||subject[i][2]>100)
{
printf("\n输入不正确!\n\n");
return;
}
}
for(i=0;i<n;i++){
subject[i][3]=(subject[i][0]+subject[i][1]+subject[i][2])/3;
avg=subject[i][3]+avg;
}
avg=avg/n;
printf("\n成绩列表如下:\n\n");
printf("NO. MAT PHY CHM AVG Y/N\n");
for(i=0;i<n;i++)
{
printf("%d %4.2f %4.2f %4.2f %4.2f ",i+1,subject[i][0],subject[i][1],subject[i][2],subject[i][3]);
if(subject[i][3]>avg)
printf("Y\n");
else
printf("N\n");
}
printf("\n");
}追问

你太牛逼了哥,再次感谢

温馨提示:答案为网友推荐,仅供参考
相似回答