socra半圆 2019-06-16 21:25 采纳率: 0%
浏览 5825

[Error] expected ')' before ';' token这个错误一直消不掉,第一次提问,没有悬赏真抱歉了,谢谢大哥们了

#include
struct student
{
char name[];
float course[5];
}stu[20];

void average(struct student p)
{
float aver=0;
int i,j;
for(i=0;i<20;i++)
{for(j=0;j<=4;j++)
{aver+=((
(p+i)).course[j])/5.0;}
printf("%10s:average is %5f\n",((*(p+i)).name,aver);
}
}

void each_average(struct student p)
{
int i,j;
float aver=0;
for(j=0;j<=4;j++)
{for(i=0;i<20;i++)
{aver+=((
(p+i)).course[j])/20.0;}
printf("%f ",aver);
}

}

void max_min(struct student p)
{
int i,j,k,t;
for(k=0;k<=4;k++)
{for(i=0;i<20;i++)
{for(j=i+1;j<20;j++)
if(((
(p+i)).course[k])>((*(p+j)).course[k]))
{t=((*(p+i)).course[k]);
((*(p+i)).course[k])=((*(p+j)).course[k]);
((*(p+j)).course[k])=t;
}
}
printf("max=%f,min=%f\n",(*(p+19)).course[k],(*p).course[k]);
}

}

void unpass_student(struct student *p)
{
int i,k;图片说明

for(k=0;k<=4;k++)
{
for(i=0;i<20;i++)
{
if((*(p+i)).course[k]<60.0)
printf("%s ",(*(p+i)).name);
}
}
}

int main()
{
int i;
struct student *p;
p=stu;
float max,min;
printf("输入学生名字,用回车隔开");
for(i=0;i<20;i++)
scanf("%s",student[i].name);
printf("输入学生各科成绩,用逗号隔开");
for(i=0;i<20;i++)
scanf("%f,%f,%f,%f,%f",stu[i].course[0],stu[i].course[1],stu[i].course[2],stu[i].course[3],stu[i].course[4]);
for(i=0;i<20;i++)
printf("%10s:%5f,%5f,%5f,%5f,%5f",stu.name[i],stu[i].course[0],stu[i].course[1],stu[i].course[2],stu[i].course[3],stu[i].course[4]);

average(p);
each_average(p);
max_min(p);
unpass_student(p);
return 0;
}

  • 写回答

2条回答

  • qq_30811749 2022-08-08 15:09
    关注

    #include
    struct student
    {
    char name[];
    float course[5];
    }stu[20];

    void average(struct student p)
    {
    float aver=0;
    int i,j;
    for(i=0;i<20;i++)
    {for(j=0;j<=4;j++)
    {aver+=(((p+i)).course[j])/5.0;}
    printf("%10s:average is %5f\n",((*(p+i)).name,aver);
    }
    }

    void each_average(struct student p)
    {
    int i,j;
    float aver=0;
    for(j=0;j<=4;j++)
    {for(i=0;i<20;i++)
    {aver+=(((p+i)).course[j])/20.0;}
    printf("%f ",aver);
    }

    }

    void max_min(struct student p)
    {
    int i,j,k,t;
    for(k=0;k<=4;k++)
    {for(i=0;i<20;i++)
    {for(j=i+1;j<20;j++)
    if((((p+i)).course[k])>(((p+j)).course[k]))
    {t=((
    (p+i)).course[k]);
    (((p+i)).course[k])=(((p+j)).course[k]);
    (((p+j)).course[k])=t;
    }
    }
    printf("max=%f,min=%f\n",(
    (p+19)).course[k],(*p).course[k]);
    }

    }

    void unpass_student(struct student *p)
    {
    int i,k;图片说明

    for(k=0;k<=4;k++)
    {
    for(i=0;i<20;i++)
    {
    if(((p+i)).course[k]<60.0)
    printf("%s ",(
    (p+i)).name);
    }
    }
    }

    int main()
    {
    int i;
    struct student *p;
    p=stu;
    float max,min;
    printf("输入学生名字,用回车隔开");
    for(i=0;i<20;i++)
    scanf("%s",student[i].name);
    printf("输入学生各科成绩,用逗号隔开");
    for(i=0;i<20;i++)
    scanf("%f,%f,%f,%f,%f",stu[i].course[0],stu[i].course[1],stu[i].course[2],stu[i].course[3],stu[i].course[4]);
    for(i=0;i<20;i++)
    printf("%10s:%5f,%5f,%5f,%5f,%5f",stu.name[i],stu[i].course[0],stu[i].course[1],stu[i].course[2],stu[i].course[3],stu[i].course[4]);

    average(p);
    each_average(p);
    max_min(p);
    unpass_student(p);
    return 0;

    评论

报告相同问题?

问题事件

  • 请详细说明问题背景 10月26日

悬赏问题

  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信