#include<stdio.h>
#include<stdlib.h>
typedef struct student{
int num;
char *name;
float a,b,c,aver,sum;
}student;
void average(student *s,int n)
{int i=0;
student *p=s;
while(i<n)
{p->aver=(p->a+p->b+p->c)/3;
printf("\nthe average score of %s is %f\n",p->name,p->aver);
p++;
i++;}
}
void findfirst(student *s,int n)
{int i=0,max=0;
student *p=s,*q;
for(i=0;i<n;i++)
{p->sum=p->a+p->b+p->c;
if(p->sum>max)
{max=p->sum;
q=p;}
p++;
}
printf("\nthe first student is:\nnumber %d\nname %s\na %f\nb %f\nc %f\naverage %f\n",q->num,q->name,q->a,q->b,q->c,q->aver);
}
void InitList(student *s,int n)
{s=(student *)malloc(n*sizeof(student));}
void main()
{student *s,*p;
int n,i;
clrscr();
printf("input how many student:\n");
scanf("%d",&n);
InitList(s,n);
p=s;
printf("input their numver name a b c\n");
for(i=0;i<n;i++)
{scanf("%d %s %f %f %f",&p->num,p->name,&p->a,&p->b,&p->c);
p++;}
average(s,n);
findfirst(s,n);
getch();
}