1
已解决
程祺然
初级光能
初级光能
80分……╮(╯﹏╰)╭
错误代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
struct node{
string name;
int y,m,d;
}a[100010];
bool cmp(node a,node b){
if(a.y!=b.y){
return a.y>b.y;
}
if(a.y==b.y&&a.m!=b.m){
return a.m>b.m;
}
return a.d>b.d;
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].y>>a[i].m>>a[i].d;
}
sort(a+1,a+n+1,cmp);
for(int i=n;i>=1;i--){
cout<<a[i].name<<endl;
}
return 0;
}
求大佬解答!
20豆!
程祺然在2020-12-31 20:20:32追加了内容
已✔了,大家随便回答,随机给出20酷町豆!
0
0
0
汪恺恒
中级启示者
中级启示者
排序规则改一下
if(a.y!=b.y) return a.y<b.y;
if(a.m!=b.m) return a.m<b.m;
if(a.d!=b.d) return a.d<b.d;
return a.cnt>b.cnt;
输入时加一条
a[i].cnt=i;
望采纳!
(结构体要加int cnt)
0
0