不太正经题解(不用结构体)
2026-03-31 13:05:17
发布于:广东
10阅读
0回复
0点赞
本题虽然说是用结构体排序,但我就是不想用(反骨这一块)
核心是分类 + 排序,先分性别再分别排序,是基础的模拟题
利用vector动态数组存储分类后的数据,灵活便捷
女生降序通过「先升序 + 逆序输出」实现 呃实际上是我复制上面排序男生的代码,懒得改
输出时注意“%.2f”保留两位小数,保证格式正确
#include<bits/stdc++.h>
using namespace std;
double a[45];
string b[45];
vector<double> na;
vector<double> nv;
int main(){
int n;
cin >> n;
for(int i=1;i<=n;i++) cin >> b[i] >> a[i];
for(int i=1;i<=n;i++){
if(b[i]=="male") na.push_back(a[i]);
else nv.push_back(a[i]);
}
sort(na.begin(),na.end());
sort(nv.begin(),nv.end());
for(int i=0;i<na.size();i++){
printf("%.2f",na[i]);
cout << " ";
}
for(int i=nv.size()-1;i>=0;i--){
printf("%.2f",nv[i]);
cout << " ";
}
}
代码也是非常的短啊
这里空空如也







有帮助,赞一个