c语言找出分数最高的人
时间: 2024-02-03 09:14:11 浏览: 10
假设有一个结构体数组,每个结构体包含学生的姓名和分数。以下是一个示例代码,用于找出分数最高的学生:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENTS 100
struct Student {
char name[50];
int score;
};
int main() {
int n, max_score = 0, max_index = 0;
struct Student students[MAX_STUDENTS];
printf("请输入学生人数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个学生的姓名和分数:", i + 1);
scanf("%s %d", students[i].name, &students[i].score);
if (students[i].score > max_score) {
max_score = students[i].score;
max_index = i;
}
}
printf("分数最高的学生是 %s,分数为 %d\n", students[max_index].name, students[max_index].score);
return 0;
}
```
该代码首先声明了一个 `Student` 结构体,其中包含学生姓名和分数两个成员变量。接着声明了一个长度为 `MAX_STUDENTS` 的结构体数组 `students`,用于存储输入的学生信息。
在主函数中,首先通过 `scanf` 函数获取学生数量 `n`。接着使用 `for` 循环依次输入每个学生的姓名和分数,并且在输入的同时判断该学生的分数是否大于当前最高分数,若是则更新最高分数和最高分数学生的索引。
最后输出分数最高的学生的姓名和分数。