建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max 函数中找出5学生中成绩最高者,并输出其学号。 用c++
时间: 2023-05-16 12:05:18 浏览: 262
下面是建立对象数组并实现max函数的代码:
```c
#include <stdio.h>
typedef struct {
int id;
int score;
} Student;
Student students[5] = {
{1, 90},
{2, 85},
{3, 95},
{4, 80},
{5, 88}
};
Student* max(Student* students, int n) {
Student* max_student = &students[0];
for (int i = 1; i < n; i++) {
if (students[i].score > max_student->score) {
max_student = &students[i];
}
}
return max_student;
}
int main() {
Student* max_student = max(students, 5);
printf("最高分学生的学号是:%d\n", max_student->id);
return 0;
}
```
输出结果为:
```
最高分学生的学号是:3
```
这个程序中,我们定义了一个结构体Student,包含学号和成绩两个属性。然后我们定义了一个包含5个Student对象的数组students,并初始化了每个对象的学号和成绩。接着我们定义了一个max函数,它接受一个指向Student对象数组的指针和数组长度作为参数,返回一个指向最高分学生的指针。在max函数中,我们遍历整个数组,找到成绩最高的学生,并返回其指针。最后在main函数中调用max函数,并输出最高分学生的学号。
阅读全文