有10个学生,每个学生的数据包括姓名、成绩,用指针变量找出其中成绩最高的学生。
时间: 2023-12-15 18:09:40 浏览: 5
找出成绩最高者
5星 · 资源好评率100%
可以定义一个结构体类型 `Student`,包含 `name` 和 `score` 两个成员,然后定义一个指向 `Student` 结构体类型的指针数组 `p`,每个元素指向一个学生结构体变量。可以通过遍历指针数组,找出成绩最高的学生。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
struct Student {
char name[20];
float score;
};
int main() {
struct Student students[10] = {{"Tom", 90}, {"Alice", 85}, {"Bob", 92},
{"Jack", 78}, {"Lucy", 88}, {"Mike", 93},
{"Mary", 87}, {"Tony", 81}, {"Sam", 90}, {"John", 84}};
struct Student *p[10];
for (int i = 0; i < 10; i++) {
p[i] = &students[i];
}
struct Student *max = p[0];
for (int i = 1; i < 10; i++) {
if (p[i]->score > max->score) {
max = p[i];
}
}
printf("The highest score is %s's %.1f\n", max->name, max->score);
return 0;
}
```
输出结果为:
```
The highest score is Mike's 93.0
```
阅读全文