建立一个对象数组,内放5个学生的数据(学号、成绩).设立一个函数max,用指向对象的指针做函数参数,输入5个学生的学号和成绩,在max 函数中找出 5个学生中成绩最高者,并输出其学号及最高成绩。
时间: 2024-05-10 20:21:07 浏览: 99
```c++
#include<iostream>
using namespace std;
class Student {
public:
int id;
int score;
};
void max(Student* stu, int n) {
int maxScore = -1;
int maxId = -1;
for (int i = 0; i < n; i++) {
if (stu[i].score > maxScore) {
maxScore = stu[i].score;
maxId = stu[i].id;
}
}
cout << "最高成绩的学生ID:" << maxId << endl;
cout << "最高成绩:" << maxScore << endl;
}
int main() {
Student stu[5];
for (int i = 0; i < 5; i++) {
cout << "请输入学生" << i+1 << "的学号和成绩:";
cin >> stu[i].id >> stu[i].score;
}
max(stu, 5);
return 0;
}
```
相关问题
建立一个对象数组,内放5个学生的学号和成绩,设立一个函数max,用指向对象的指针做函数参数,在max函数种找出5个学生中成绩最高者,并输出其学号。用C++实现
以下是实现代码:
```cpp
#include <iostream>
using namespace std;
class Student {
int id;
float score;
public:
Student(int i, float s) : id(i), score(s) {}
int getId() { return id; }
float getScore() { return score; }
};
void max(Student *arr[], int size) {
int maxIndex = 0;
for (int i = 1; i < size; i++) {
if (arr[i]->getScore() > arr[maxIndex]->getScore()) {
maxIndex = i;
}
}
cout << "最高分数的学生学号为:" << arr[maxIndex]->getId() << endl;
}
int main() {
Student s1(1001, 89.5);
Student s2(1002, 78.5);
Student s3(1003, 92.0);
Student s4(1004, 85.5);
Student s5(1005, 91.0);
Student *arr[5] = { &s1, &s2, &s3, &s4, &s5 };
max(arr, 5);
return 0;
}
```
这里创建了一个 `Student` 类,包含学生的学号和成绩属性,然后在 `main` 函数中创建了 5 个学生对象,并将它们的指针存储在一个指针数组 `arr` 中。最后调用 `max` 函数,使用指向对象的指针作为参数,在其中遍历整个数组,找到成绩最高的学生,并输出其学号。
6. 建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
好的,您的问题是关于建立学生对象数组的函数,以下是示例代码:
```c++
#include <iostream>
using namespace std;
class Student {
public:
int id;
int score;
};
void max(Student* arr, int size) {
Student* maxStudent = &arr[0];
for (int i = 1; i < size; i++) {
if (arr[i].score > maxStudent->score) {
maxStudent = &arr[i];
}
}
cout << "最高者学号为:" << maxStudent->id << endl;
}
int main() {
Student students[5] = {{1, 80}, {2, 90}, {3, 85}, {4, 75}, {5, 95}};
max(students, 5);
return 0;
}
```
这个示例演示了如何创建一个名为 Student 的类,这个类有两个属性:学号 id 和成绩 score。我们创建了一个包含 5 个学生的数组,然后定义了 `max` 函数,该函数接受一个指向 Student 对象数组的指针和数组大小作为参数。函数循环遍历数组并查找成绩最高的学生,然后输出此学生的学号。
希望这个示例代码能够帮到您!如果您有更多的问题,请继续问我。
阅读全文