有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入10个学生数据,要求输出每门课的总平均成绩及最高分学生的数据。用指向结构体数据的指针变量编程实现。
#include<stdio.h>
struct Student{
int num;
char name[20];
float Chinese;
float Math;
float English;
};
int main(){
struct Student stu[10];
struct Student *p;
float aver1,aver2,aver3;
float sum1=0,sum2=0,sum3=0;
int i,t;
float score[10];
float max=0;
p=stu;
for(i=0;i<10;i++){
scanf("%d%s%f%f%f",&p->num,p->name,&p->Chinese,&p->Math,&p->English);
p++;
}
p=stu;
for(i=0;i<10;i++){
sum1=sum1+p->Chinese;
sum2=sum2+p->Math;
sum3=sum3+p->English;
p++;
}
p=stu;
aver1=sum1/10;
aver2=sum2/10;
aver3=sum3/10;
for(i=0;i<10;i++){
score[i]=p->Chinese+p->Math+p->English;
p++;
if(score[i]>max){
max=score[i];
t=i;
}
}
p=stu+t;
printf("%d\t %s\t %f\t %f\t %f\t",p->num,p->name,p->Chinese,p->Math,p->English);
printf("%f\t %f\t %f",aver1,aver2,aver3);
return 0;
}