该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我记得是这个
#include #define N 10
struct student
{
int num;
char name[5];
int score[3];
int total;
float aver;
}stu[10],*ps; void input()
{
for(ps=stu;ps
{
scanf("%d",&ps->num);
scanf("%d%d%d",&ps->score[0],&ps->score[1],&ps->score[2]);
gets(ps->name);
}
} play(struct student *ps ,float x ,int y)
{
int i;
printf("NO.\tname\tscore1\tscore2\tscore3\ttotal\taverage\n");
for(i=0;i
printf("%d\t%s\t%d\t%d\t%d\t%d\t%.2f\n",ps->num,ps->name,ps->score[0],\
ps->score[1],ps->score[2],ps->total,ps->aver);
printf("average=%.2f\n",x);
printf("The highest score:%s,score total:%d",\
stu[y].name,stu[y].total);
} int max(struct student *ps)
{
int temp,max;
int m;
int i=0; max=ps->total;
temp=0; for(i=0;i<3;i++)
{
m=(ps+i)->total;
if(m>max)
{
max=m;
temp=i;
}
} return(temp);
} float average(struct student *ps)
{
int i;
int sum=0;
float avera; for(i=0;i
{
(ps+i)->total=(ps+i)->score[0]+(ps+i)->score[1]+(ps+i)->score[2];
(ps+i)->aver=(float)(ps+i)->total/3;
sum=sum+(ps+i)->total;
}
avera=(float)sum/(3*N) ;
return(avera);
} main()
{
float av;
int max_i;
input();
av=average(stu);
max_i=max(stu);
play(stu,av,max_i);
}