#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
#include<time.h>
struct Score
{
int english;
int math;
int chinese;
};
void main()
{
int n=0;
printf("input a number\n");
scanf("%d",&n);
Score *sco=(Score *)malloc(n*sizeof(Score));
int i;
srand(time(0));
for( i=0;i<n;i++)
{
sco[i].chinese=rand()%101;
sco[i].english=rand()%101;
sco[i].math=rand()%101;
}
printf("All the score bellow\n");
printf("ID\t语文\t英语\t数学\n");
for( i=0;i<n;i++)
printf("%d\t%d\t%d\t%d\n",i+1,sco[i].chinese,sco[i].english,sco[i].math);
int max=0;
int m=0;
for(i=0;i<n;i++)
{
int temp=sco[i].chinese+sco[i].english+sco[i].math;
if(temp>max)
{
max=temp;
m=i;
}
}
printf("the higest score is %d\n the student number is %d\n",max,m+1);
printf("input a num(1,2,3)to select\n");
int sec;
scanf("%d",&sec);
switch(sec)
{
case 1:
{
float chin=0;
for(i=0;i<n;i++)
chin=chin+sco[i].chinese;
printf("the average of chinese score %f\n",chin/n);
}
break;
case 2:
{
float eng=0;
for(i=0;i<n;i++)
eng=eng+sco[i].english;
printf("the average of english score %f\n",eng/n);
}
break;
case 3:
{
float mat=0;
for(i=0;i<n;i++)
mat=mat+sco[i].math;
printf("the average of math score %f\n",mat/n);
}
break;
default:
printf("error input\n");
break;
}
return ;
}