题目描述
假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩。输入n个学生的成绩信息,计算并输出平均分最高的学生信息。
不完整程序如下。请在begin和end之间将代码补充完整。
#include <stdio.h> struct student{ /*学生信息结构类型定义*/ int num; /*学号*/ char name[10]; /*姓名*/ int computer,english,math; /*三门课程成绩*/ double average; /*个人平均成绩*/ }; int main(void) { int i,n; struct student s1,max; scanf("%d",&n); /********* begin **********/ /********* end **********/ printf("%d %s %d %d %d ",max.num,max.name,max.computer,max.english,max.math); printf("%.3f\n",max.average); return 0; }
输入
先输入n(1<=n<100),然后输入n个人的信息。
例如:
3
101 Zhang 78 87 85
102 Wang 91 88 90
103 Li 75 90 84
输出
输出平均分最高的同学的所有信息,并输出其平均分,平均分精确到小数点后面3位。
例如:
102 Wang 91 88 90 89.667
样例输入 Copy
3 101 Zhang 78 87 85 102 Wang 91 88 90 103 Li 75 90 84
样例输出 Copy
102 Wang 91 88 90 89.667
for(i=0;i<n;i++){
scanf("%d %s %d %d %d",&s1.num,s1.name,&s1.computer,&s1.english,&s1.math);
s1.average=(s1.computer+s1.english+s1.math)/3.0;
if(i==1){
max=s1;//注意是max=s1不是max.average=s1.average
}
else if(max.average<s1.average){
max=s1;
}
}