2 条题解
-
0
重载运算符
#include <bits/stdc++.h> using namespace std; struct Stu { int a; string nam; }; bool operator<(const Stu &a, const Stu &b) { return a.a < b.a; } int main() { int n; Stu a[105]; cin >> n; for (int i = 1; i <= n; i++) cin >> a[i].a >> a[i].nam; Stu ans = a[1]; for (int i = 1; i <= n; i++) if (ans < a[i]) ans = a[i]; cout << ans.nam; return 0; }
-
0
使用两个数组
#include<bits/stdc++.h> using namespace std; int main(){ int n; int score[105]; string name[105]; cin>>n; for(int i=1;i<=n;i++) cin>>score[i]>>name[i]; int max_score=-1; string max_name; for(int i=1;i<=n;i++) { if(score[i]>max_score) { max_score=score[i]; max_name=name[i]; } } cout<<max_name<<"\n"; return 0; }
使用结构体
#include<bits/stdc++.h> using namespace std; int main(){ int n; struct Student{ int score; string name; }; Student a[105];//a[0]~a[104] 都是 Student cin>>n; for(int i=1;i<=n;i++) cin>>a[i].score>>a[i].name; //. -> 的 Student max_stu; max_stu.score = -1; for(int i=1;i<=n;i++) if(a[i].score>max_stu.score) max_stu = a[i]; cout<<max_stu.name<<"\n"; return 0; }
- 1
信息
- ID
- 367
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- (无)
- 递交数
- 118
- 已通过
- 82
- 上传者