这是题目(只看第三问即可)
我的代码
#include <stdio.h>
float a_stu[10000];
float a_cour[10];
float score[10000][10];
int main()
{
void input_stu(int L,int M);
void aver_stu(int L,int M);
void aver_cour(int L,int M);
int cmp_stu1(int L,int M);
int i,j,L,M;
printf("请输入班级人数:");
scanf("%d",&L);
printf("请输入考试科目数量:");
scanf("%d",&M);
input_stu(L,M);
aver_stu(L,M);
aver_cour(L,M);
for(i=0;i<L;i++)
printf("第%d个学生平均分:%.1f\n",i+1,a_stu[i]);
for(j=0;j<M;j++)
printf("第%d门课程的平均分为:%.1f\n",j+1,a_cour[j]);
for(j=0;j<M;j++)
printf("第%d门课程最高分是第%d个学生\n",j+1,cmp_stu1(L,M));
return 0;
}
void input_stu(int L,int M)
{
int i,j;
for(i=0;i<L;i++)
{
printf("请输入第%d个学生的成绩:\n",i+1);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(int L,int M)
{
int i,j;
for(i=0;i<L;i++)
{
float sum=0;
for(j=0;j<M;j++)
sum+=score[i][j];
a_stu[i]=sum/L;
}
}
void aver_cour(int L,int M)
{
int i,j;
for(j=0;j<M;j++)
{
float sum=0;
for(i=0;i<L;i++)
sum+=score[i][j];
a_cour[j]=sum/M;
}
}
int cmp_stu1(int L,int M)
{
int i,j,num1,max;
for(j=0,i=0;j<M;j++)
{
max=score[0][j];
for(i=0;i<L;i++)
{
if(max<=score[i][j])
{
max=score[i][j];
num1=i+1;
}
}
}
return num1;
}
第三问为什么运行结果数据错误?