#include <stdio.h> //10101 zhang 78 89 98 //10102 li 87 69 98.5 //10103 liu 88 76.5 89
#define N 3//定义学生数位3
void input(struct student stu[]);
struct student max(struct student stu[]);
void print(struct student stu);
struct student {
int num;
char name[20];
float score[3];
float ave;
};
int main() {
struct student stu[N], * p = stu;
input(p);
print(max(p));
return 0;
}
//利用input函数输入学生信息
//利用max函数求出平均分最高的学生的成绩
//利用print函数输出成绩最高的学生的信息
void input(struct student stu[]) {
int i;
for (i = 0; i <N ; i++) {
scanf_s("%d%s%f%f%f", &stu[i].num, stu[i].name,10, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
stu[i].ave = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3;
}
}
struct student max(struct student stu[]) {
int i,m=0;
for (i = 0; i < N; i++) {
if (stu[i].ave > stu[m].ave)m = i;
m = i;
}
return stu[m];
}
void print(struct student stu) {
printf("成绩最高的学生为:%d\n%s\n三门课成绩为%5.1f % 5.1f % 5.1f\n平均成绩为 % 6.2f\n", stu.num, stu.name, stu.score[0], stu.score[1], stu.score[2],stu.ave);
}
有n个学生的结构体变量 内含学生学号姓名三科成绩 输出三科平均成绩最大的学生
最新推荐文章于 2024-05-22 16:28:54 发布