C2023019 2023-07-23 15:41:36
日期排序这道题怎么做
·-·
但是是错的
C2023011说这是他的写法 #include <bits/stdc++.h> using namespace std;
int cmp(string x,string y) { if(x.substr(6,4)>y.substr(6,4)) { return 1; } else if(x.substr(6,4)==y.substr(6,4)&&x.substr(0,2)>y.substr(0,2)) { return 1; } else if(x.substr(6,4)>y.substr(6,4)&&x.substr(0,2)>y.substr(0,2) &&x.substr(3,2)>y.substr(3,2)) { return 1; } else { return 0; } } int main() { int n; cin>>n; string a[1000]; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) { cout<<a[i]<<endl; }
return 0;
}
共 3 条回复
·-·
但是是错的
C2023011说这是他的写法 #include <bits/stdc++.h> using namespace std;
int cmp(string x,string y) { if(x.substr(6,4)>y.substr(6,4)) { return 1; } else if(x.substr(6,4)==y.substr(6,4)&&x.substr(0,2)>y.substr(0,2)) { return 1; } else if(x.substr(6,4)>y.substr(6,4)&&x.substr(0,2)>y.substr(0,2) &&x.substr(3,2)>y.substr(3,2)) { return 1; } else { return 0; } } int main() { int n; cin>>n; string a[1000]; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++) { cout<<a[i]<<endl; }
}