用c语言编译:有5个学生,每个学生的数据包括学号、姓名、2门 课的成绩,从键盘中输入5个学生数据,计算并输出5 个个学生2门课的平均成绩,输出两门课程成绩最高的学生的数据。
时间: 2024-01-05 16:02:25 浏览: 83
10个学生5门课的成绩统计 C语言
4星 · 用户满意度95%
以下是用C语言编写的代码:
```c
#include <stdio.h>
#include <string.h>
struct Student {
int id;
char name[20];
float score1;
float score2;
};
int main() {
struct Student students[5];
float avg_score[5];
float max_score = 0;
int max_index = 0;
// 输入学生数据
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号、姓名、2门课的成绩:\n", i+1);
scanf("%d %s %f %f", &students[i].id, students[i].name, &students[i].score1, &students[i].score2);
// 计算平均成绩
avg_score[i] = (students[i].score1 + students[i].score2) / 2;
}
// 找到最高分数的学生
for (int i = 0; i < 5; i++) {
if (students[i].score1 + students[i].score2 > max_score) {
max_score = students[i].score1 + students[i].score2;
max_index = i;
}
}
// 输出平均成绩和最高分数的学生数据
printf("5个学生2门课的平均成绩分别为:\n");
for (int i = 0; i < 5; i++) {
printf("%s的平均成绩为%.2f\n", students[i].name, avg_score[i]);
}
printf("两门课程成绩最高的学生是%s,学号为%d,成绩为%.2f和%.2f\n", students[max_index].name, students[max_index].id, students[max_index].score1, students[max_index].score2);
return 0;
}
```
注意:为了简化代码,没有加入输入数据的校验,实际应用中需要对输入的数据进行合法性检查。
阅读全文