请c语言大神帮我看看程序哪里出了问题,好像是max那个函数出了问题可是找不出问题在哪。

#include"stdio.h"structstudent{intnum[20];charname[10];floatpoint1;floatpoint2;floatp... #include "stdio.h"
struct student
{
int num[20];
char name[10];
float point1;
float point2;
float point3;
double aver;
};
void main()
{
int max(struct student stu[]);
void print(struct student stu);
int j;
struct student p,stu[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d,%s,%f,%f,%f",&stu[i].num,stu[i].name,&stu[i].point1,&stu[i].point2,&stu[i].point3);
stu[i].aver=(stu[i].point1+stu[i].point2+stu[i].point3)/3.0;}
j=max(stu);
p=stu[j];
print(p);

}
int max(struct stedent stu[])
{
int i,j;
for(i=0;i<9;i++)
if(stu[i].aver<stu[i+1].aver)
j=i+1;
return j;
}

void print(struct student stu)
{
printf("最高分学生是%s",stu.name);
}
我知道啦是student打错了。。
展开
 我来答
Chandler4
2014-12-18 · TA获得超过405个赞
知道小有建树答主
回答量:1058
采纳率:0%
帮助的人:754万
展开全部
#include "stdio.h"
struct student
    {
     int num[20];
     char name[10];
     float point1;
     float point2;
     float point3;
     double aver;
    };
void main()
{
    int max(struct student stu[]);
    void print(struct student stu);
    int j;
    struct student p,stu[10];
    int i;
    for(i=0;i<10;i++)
    {
    //这里把名字放在最后,不然解析会有错误
     scanf("%d,%f,%f,%f,%s",&stu[i].num,&stu[i].point1,&stu[i].point2,&stu[i].point3,stu[i].name);
        stu[i].aver=(stu[i].point1+stu[i].point2+stu[i].point3)/3.0;}
    j=max(stu);
    p=stu[j];
    print(p);
    
}
int max(struct student stu[])//这里student写错了,编译过不去把
{
 int i,j;
 for(i=0;i<9;i++)
 if(stu[i].aver<stu[i+1].aver)
    j=i+1;
 return j;
}

void print(struct student stu)
{
 printf("最高分学生是%s",stu.name);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式