c语言用结构体编程。某班有5名学生,每名学生的数据包括学号、姓名、了 门课程的成绩。从键盘输入5名学生数据,输出5名同学平均成绩,以及平均分最高的学生的数据 (包括学号、姓名、了门课成绩、平均成绩)
时间: 2024-01-06 21:06:07 浏览: 114
C语言利用结构体数组实现学生成绩管理系统
以下是使用结构体编写的C语言代码,实现上述功能:
```c
#include <stdio.h>
#define COUNT 5 // 学生数量
typedef struct {
int id; // 学号
char name[20]; // 姓名
float scores[3]; // 三门课程成绩
float avg_score; // 平均成绩
} Student;
// 计算学生平均成绩
void calc_avg_score(Student *stu) {
float sum = 0;
for (int i = 0; i < 3; i++) {
sum += stu->scores[i];
}
stu->avg_score = sum / 3;
}
int main() {
Student students[COUNT];
float max_avg_score = 0;
int max_avg_score_index = 0;
// 输入学生数据
for (int i = 0; i < COUNT; i++) {
printf("请输入第%d名学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
for (int j = 0; j < 3; j++) {
printf("第%d门成绩:", j + 1);
scanf("%f", &students[i].scores[j]);
}
calc_avg_score(&students[i]); // 计算平均成绩
if (students[i].avg_score > max_avg_score) { // 更新最高平均分
max_avg_score = students[i].avg_score;
max_avg_score_index = i;
}
}
// 输出学生平均成绩和最高平均分学生的信息
printf("\n学生平均成绩如下:\n");
for (int i = 0; i < COUNT; i++) {
printf("学号:%d\t姓名:%s\t平均成绩:%.2f\n", students[i].id, students[i].name, students[i].avg_score);
}
printf("\n平均分最高的学生信息如下:\n");
printf("学号:%d\t姓名:%s\t第一门成绩:%.2f\t第二门成绩:%.2f\t第三门成绩:%.2f\t平均成绩:%.2f\n",
students[max_avg_score_index].id, students[max_avg_score_index].name,
students[max_avg_score_index].scores[0], students[max_avg_score_index].scores[1],
students[max_avg_score_index].scores[2], students[max_avg_score_index].avg_score);
return 0;
}
```
运行结果示例如下:
```
请输入第1名学生的信息:
学号:101
姓名:Tom
第1门成绩:89
第2门成绩:92
第3门成绩:85
请输入第2名学生的信息:
学号:102
姓名:Jerry
第1门成绩:78
第2门成绩:86
第3门成绩:92
请输入第3名学生的信息:
学号:103
姓名:Bob
第1门成绩:92
第2门成绩:88
第3门成绩:90
请输入第4名学生的信息:
学号:104
姓名:Alice
第1门成绩:85
第2门成绩:90
第3门成绩:88
请输入第5名学生的信息:
学号:105
姓名:Lucy
第1门成绩:90
第2门成绩:93
第3门成绩:89
学生平均成绩如下:
学号:101 姓名:Tom 平均成绩:88.67
学号:102 姓名:Jerry 平均成绩:85.33
学号:103 姓名:Bob 平均成绩:90.00
学号:104 姓名:Alice 平均成绩:87.67
学号:105 姓名:Lucy 平均成绩:90.67
平均分最高的学生信息如下:
学号:103 姓名:Bob 第一门成绩:92.00 第二门成绩:88.00 第三门成绩:90.00 平均成绩:90.00
```
阅读全文