C语言有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入5个学生的数据,要求输出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)
时间: 2024-01-06 10:06:54 浏览: 84
C语言程序设计-输入2个学生3门课的成绩,计算学生成绩平均分,课程平均分和最高分.
5星 · 资源好评率100%
以下是C语言实现的代码,用于输入5个学生的数据,并计算3门课的总平均成绩以及最高分的学生的数据:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
double scores[3];
double average;
};
int main() {
struct Student students[5];
double maxScore = 0;
int maxIndex = 0;
// 输入学生数据
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%d", &students[i].id);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的3门课成绩:", i+1);
for (int j = 0; j < 3; j++) {
scanf("%lf", &students[i].scores[j]);
}
printf("\n");
}
// 计算总平均成绩和最高分的学生
for (int i = 0; i < 5; i++) {
double sum = 0;
for (int j = 0; j < 3; j++) {
sum += students[i].scores[j];
}
students[i].average = sum / 3;
if (students[i].average > maxScore) {
maxScore = students[i].average;
maxIndex = i;
}
}
// 输出总平均成绩和最高分的学生的数据
printf("3门课的总平均成绩为:%.2lf\n", maxScore);
printf("最高分的学生的数据为:\n");
printf("学号:%d\n", students[maxIndex].id);
printf("姓名:%s\n", students[maxIndex].name);
printf("3门课成绩:");
for (int i = 0; i < 3; i++) {
printf("%.2lf ", students[maxIndex].scores[i]);
}
printf("\n");
printf("平均分数:%.2lf\n", students[maxIndex].average);
return 0;
}
```
阅读全文