#include <stdio.h>
#define N 5
struct student
{
int id;
char sex[32];
char name[32];
int chinese;
int math;
int english;
int science;
int ave;
} stu[N];
void average(struct student *p)
{
for (int i = 0; i < N; i++)
{
p[i].ave = (p[i].chinese + p[i].math + p[i].english + p[i].science) / 4; //计算平均成绩
}
}
int main()
{
struct student *p = stu;
printf("请输入学生的信息\n");
printf("学号 性别 姓名 语文 数学 英语 科学\n");
for (int i = 0; i < N; i++)
{
scanf("%d %s %s %d %d %d %d", &p[i].id, p[i].sex, p[i].name, &p[i].chinese, &p[i].math, &p[i].english, &p[i].science);
}
average(p); //调用函数
int max = 0; // 用于跟踪最高平均成绩的学生的索引
for (int i = 1; i < N; i++)
{
if (stu[max].ave < stu[i].ave)
{
max = i;
}
}
printf("总平均成绩最高的学生信息:\n");
printf("学号: %d\n性别: %s\n姓名: %s\n语文: %d\n数学: %d\n英语: %d\n科学: %d\n平均分: %d\n",stu[max].id, stu[max].sex, stu[max].name, stu[max].chinese, stu[max].math, stu[max].english, stu[max].science, stu[max].ave);
return 0;
}
07-23
6229
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
02-18
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-01
2万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)