社区讨论
为啥子错了
P5740【深基7.例9】最厉害的学生参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhkdy55k
- 此快照首次捕获于
- 2025/11/04 17:47 4 个月前
- 此快照最后确认于
- 2025/11/04 17:47 4 个月前
直接上代码:
CPP#include<bits/stdc++.h>
using namespace std;
struct Student
{
string name;
int chinesePoint;
int mathsPoint;
int englishPoint;
};
template <class T>
void Temp(T& a, T& b)
{
T temp = a;
a = b;
b = temp;
}
void SortStudent(vector<Student*>& arr)
{
int n = arr.size();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
int a = arr[j]->chinesePoint + arr[j]->mathsPoint + arr[j]->englishPoint;
int b = arr[j + 1]->chinesePoint + arr[j + 1]->mathsPoint + arr[j + 1]->englishPoint;
if (a > b)
{
Temp(arr[j], arr[j + 1]);
}
}
}
}
int main()
{
int n;
vector<Student*> v;
cin >> n;
for (int i = 0; i < n; i++)
{
Student* student = new Student();
cin >> student->name;
cin >> student->chinesePoint;
cin >> student->mathsPoint;
cin >> student->englishPoint;
v.push_back(student);
}
SortStudent(v);
cout << v.back()->name << " " << v.back()->chinesePoint << " " << v.back()->mathsPoint << " " << v.back()->englishPoint << endl;
for (int i = 0; i < v.size(); i++)
{
delete v[i];
}
return 0;
}
为啥不能AC
回复
共 4 条回复,欢迎继续交流。
正在加载回复...