使用c语言完成以下:5个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入5个学生数据,要求输出3门课程总平均成绩,以及最高分的学生的数据(包括学号,姓名、3门课程成绩、平均分数)。
时间: 2023-12-15 14:23:14 浏览: 71
以下是使用C语言实现的代码:
```c
#include <stdio.h>
struct student {
int id;
char name[20];
int grade[3];
float avg;
};
int main() {
struct student stu[5];
float total_avg = 0;
float max_avg = 0;
int max_index = 0;
// 输入学生信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("成绩1:");
scanf("%d", &stu[i].grade[0]);
printf("成绩2:");
scanf("%d", &stu[i].grade[1]);
printf("成绩3:");
scanf("%d", &stu[i].grade[2]);
// 计算平均分
stu[i].avg = (stu[i].grade[0] + stu[i].grade[1] + stu[i].grade[2]) / 3.0;
// 计算总平均分
total_avg += stu[i].avg;
// 记录最高分的学生
if (stu[i].avg > max_avg) {
max_avg = stu[i].avg;
max_index = i;
}
}
// 输出3门课程总平均成绩
printf("3门课程总平均成绩为:%.2f\n", total_avg / 5);
// 输出最高分的学生信息
printf("最高分的学生为:\n");
printf("学号:%d\n", stu[max_index].id);
printf("姓名:%s\n", stu[max_index].name);
printf("成绩1:%d\n", stu[max_index].grade[0]);
printf("成绩2:%d\n", stu[max_index].grade[1]);
printf("成绩3:%d\n", stu[max_index].grade[2]);
printf("平均分数:%.2f\n", stu[max_index].avg);
return 0;
}
```
运行程序后,可以依次输入5个学生的信息,程序会自动计算每个学生的平均分,并输出3门课程的总平均分和最高分的学生的信息。
阅读全文