请声明Student类类中包含数据成员姓名和分数,成员函数 compare(用于比较两名学生的分数)。在主函数中输入 n 名学生的信息后,输出其中最高分和最低分学生的姓名及分数
时间: 2024-05-08 20:14:45 浏览: 33
好的,您想让我为您编写一个程序来满足您的需求。首先,我们需要定义一个Student类来包含姓名和分数的数据成员,以及一个compare函数来比较两名学生的分数。以下是该类的示例代码:
```
class Student {
public:
string name;
float score;
int compare(Student s) {
if (score > s.score)
return 1;
else if (score < s.score)
return -1;
else
return 0;
}
};
```
接下来,我们可以在主函数中输入n名学生的信息,并比较他们的分数以获得最高分和最低分学生的姓名和分数。下面是一些示例代码:
```
int main() {
int n;
cout << "请输入学生的个数:" << endl;
cin >> n;
Student *students = new Student[n];
float maxScore = 0, minScore = 100;
for (int i = 0; i < n; i++) {
cout << "请输入第" << i + 1 << "位学生的姓名和分数:" << endl;
cin >> students[i].name >> students[i].score;
if (students[i].score > maxScore)
maxScore = students[i].score;
if (students[i].score < minScore)
minScore = students[i].score;
}
cout << "最高分学生的姓名为:";
for (int i = 0; i < n; i++) {
if (students[i].score == maxScore)
cout << students[i].name << ",分数为" << students[i].score << endl;
}
cout << "最低分学生的姓名为:";
for (int i = 0; i < n; i++) {
if (students[i].score == minScore)
cout << students[i].name << ",分数为" << students[i].score << endl;
}
delete[] students;
return 0;
}
```
希望您满意这个程序!
阅读全文