首先介绍一下我的烂程序三个子函数好多定义错误
#include<stdio.h>
#include<math.h>
int main()
{
void aver1(int a[][5],int aver[],int x,int y);
void aver2(int a[][5],int aver[],int x,int y);
void max(int a[][5],int x,int y);
int i,j,a[4][5];
for(i=0;i<4;i++)
{
printf("请依次输入第%d个同学的五门成绩",i+1);
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
}
}
void aver1(a[4][5],aver[4],4,5);
void aver2(a[4][5],aver[5],4,5);
void max(a[4][5],4,5);
return 0;
}
void aver1(int a[][5],int aver[],int x,int y)
{
int i,j,sum;
for(i=0;i<x;i++)
{
sum=0;
for(j=0;j<y;j++)
{
sum=sum+a[i][j];
aver[i]=sum/y;
}
for(i=0;i<x;i++)
{
printf("第%d位同学的平均成绩为:%d",i+1,aver[i]);
}
}
void aver2(int aver[],int x,int y)
{
int i,j,sum,int
for(j=0;j<x;j++)
{
sum=0;
for(i=0;i<y;i++)
{
sum=sum+a[i][j];
aver[j]=sum/y;
}
for(j=0;j<x;j++)
{
printf("第%d门课的平均成绩为:%d",j+1,aver[j]);
}
}
}
void max(int a[][5],int x,int y)
{
float m;
int k=0,p=0;
for(i=0;i<x;i++)
{
for(j=0;j<y,j++)
{
if(a[p][k]<=a[i][j])
{
k=j;
p=i;
}
}
}
printf("max=%d 第%d位同学 第%d门成绩",a[p][k],p,k)
}
你对数组的理解有问题
对函数
void aver1(int a[][5],int aver[],int x,int y)
调用时,要用
aver1(a,aver,4,5);
而不能用你的方法
a是数组变量而a[4][5]是数组成员