有五个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生数据,要求打印每个学生3门课总平均成绩(包括学号、姓名、3门课的成绩),以及最高分的学生的数据(包括学号、姓名、3门课的成绩和平均成绩)。要求用input函数输入5个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分的学生的数据都在主函数中输出。
#include<stdio.h>
struct Student{
int num;
char name[20];
float Chinese;
float Math;
float English;
float aver;
};
//输入函数
void input(struct Student stu[5]){
int i;
for(i=0;i<5;i++){
scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].Chinese,&stu[i].Math,&stu[i].English);
}
}
//求平均值函数
void average(struct Student stu[5]){
float sum;
int i;
for(i=0;i<5;i++){
sum=stu[i].Chinese+stu[i].Math+stu[i].English;
stu[i].aver=sum/3;
}
}
//找最大值函数
float max(struct Student stu[5]){
float max=0;
int i,t;
for(i=0;i<5;i++){
if(stu[i].aver>max){
max=stu[i].aver;
t=i;
}
}
return(t);
}
//主函数
int main(){
void input(struct Student stu[5]);
void average(struct Student stu[5]);
float max(struct Student stu[5]);
struct Student *p;
struct Student stu[5];
int i,t;
input(stu);
average(stu);
t=max(stu);
for(i=0;i<5;i++){
printf("%d%s%f%f%f%f\n",stu[i].num,stu[i].name,stu[i].Chinese,stu[i].Math,stu[i].English,stu[i].aver);
}
printf("最高分学生信息为:");
printf("%d%s%f%f%f%f\n",stu[t].num,stu[t].name,stu[t].Chinese,stu[t].Math,stu[t].English,stu[t].aver);
return 0;
}