创建二维结构体数组,包含学生姓名,学号,单片机成绩,英语成绩,打印出最高成绩的学生姓名
时间: 2024-12-28 22:32:58 浏览: 2
在C语言中,你可以创建一个二维结构体数组来存储学生的信息,包括姓名、学号、单片机成绩和英语成绩。首先定义一个结构体`Student`:
```c
typedef struct {
char name[50];
int student_id;
int mcu_score;
int english_score;
} Student;
```
然后,你可以创建一个数组来存储多个学生的数据,例如:
```c
#define NUM_OF_STUDENTS 5
Student students[NUM_OF_STUDENTS] = {
{"张三", 1001, 90, 85},
{"李四", 1002, 95, 90},
// 更多学生数据...
};
```
要找出最高分的学生及其姓名,你需要遍历数组,并在每一步更新最高分及其对应的姓名:
```c
int max_score = students[0].mcu_score; // 初始化为第一个学生的成绩
char* max_student_name = students[0].name;
for (int i = 1; i < NUM_OF_STUDENTS; i++) {
if (students[i].mcu_score > max_score) {
max_score = students[i].mcu_score;
max_student_name = students[i].name;
}
}
printf("最高分的学生是:%s, 单片机成绩:%d\n", max_student_name, max_score);
```
这样,就会打印出最高分的学生姓名和对应的成绩。
阅读全文