c语言小问题自己无法处理

如何修改求大神们指点左右。谢谢图片图片图片

兄弟你最好把代码粘出来,这样看眼睛疼

行号弄出来,哪一行错了

#include
#define N 3
struct Student
{
int num; //学号
char name[20]; //姓名
double score[3];//3门课成绩
double aver; //平均成绩
};
int main()
{
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu[]);
struct Student stu[N],
*p=stu;
input(p);
print(max(p));问题在此//E:\新建文件夹 (2)\wawa.cpp(18) : error C2664: 'print' : cannot convert parameter 1 from 'struct Student' to 'struct Student []'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
return 0;
}
void input(struct Student stu[])
{
int i;
printf("请输入各学生学号、姓名、3门课成绩\n");
for(i=0;i {
scanf("%d%s%lf%lf%lf",&stu[i].num,&stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0; }
}
struct Student max(struct Student stu[])
{
int m=0,i;
for(i=0;i if(stu[i].aver>stu[m].aver)
m=i;

return stu[m];

}
void print(struct Student stu)
{
printf("\n");
printf("最高分排名\n学号:%d\n姓名:%s\n3门课成绩%lf\n平均成绩%lf\n",&stu.num,&stu.name,&stu.score,&stu.aver);
}

你先把struct Student stu[N],
*p=stu;
换成struct Student stu[N],
struct Student *p = stu;

按上面错误提示说的是传参数错误,你传的参数类型不对,你检查一下。

struct Student max(struct Student stu[]);
void print(struct Student stu[]);

max返回结构,print需要结构指针

将你的print(struct Student stu)改为void print(struct Student stu[]);
print函数的参数是结构体数组