用C语言编写,定义一个结构体类型Student,包括两个成员变量:姓名(字符数组类型),数学成绩(int类型)。声明该结构体类型的数组,该数组有5个元素。编写程序,通过键盘输入该结构体数组赋值,并输出这5个元素中数学成绩最高的那个元素的姓名和数学成绩
时间: 2023-06-18 17:05:04 浏览: 115
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define NUM_OF_STUDENTS 5
// 定义学生结构体类型
typedef struct Student {
char name[MAX_NAME_LEN];
int math_score;
} Student;
int main() {
// 声明学生结构体数组
Student students[NUM_OF_STUDENTS];
// 通过键盘输入学生信息
for (int i = 0; i < NUM_OF_STUDENTS; i++) {
printf("请输入第%d个学生的姓名和数学成绩:\n", i + 1);
scanf("%s %d", students[i].name, &students[i].math_score);
}
// 找到数学成绩最高的学生
int max_score_index = 0;
for (int i = 1; i < NUM_OF_STUDENTS; i++) {
if (students[i].math_score > students[max_score_index].math_score) {
max_score_index = i;
}
}
// 输出数学成绩最高的学生的姓名和成绩
printf("数学成绩最高的学生是%s,成绩为%d\n", students[max_score_index].name, students[max_score_index].math_score);
return 0;
}
```
运行程序后,可以输入5个学生的姓名和数学成绩,程序会输出数学成绩最高的学生的姓名和成绩。
阅读全文