描述
有一些日期,日期格式为 “MM/DD/YYYY
”。
编程将其按日期大小排列。
输入描述
输入第一行一个整n(1<n≤1000),表示日期的个数。
接下来n行按照题目描述的格式输入n个日期。
输出描述
输出从早到晚排序后的日期,一个日期占一行,日期输出的格式和输入一样。
用例输入 1
8 01/26/1998 09/26/1927 01/05/1927 04/16/2024 08/08/1993 01/01/2019 06/22/1973 07/16/2030
用例输出 1
01/05/1927 09/26/1927 06/22/1973 08/08/1993 01/26/1998 01/01/2019 04/16/2024 07/16/2030
#include <bits/stdc++.h>
using namespace std;
struct YYDS{ //struct (后面的函数自定义)
string a,o,z,d;
};
YYDS bv[1001];
int n;
int main() {
cin>>n;
for(int i=0;i<n;i++){
cin>>bv[i].a;
for(int j=0;j<=1;j++){
bv[i].o+=bv[i].a[j];
}
for(int j=3;j<=4;j++){
bv[i].z+=bv[i].a[j];
}
for(int j=6;j<=9;j++) {
bv[i].d+=bv[i].a[j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n-1;j++){
if(bv[j].d==bv[j+1].d){
if(bv[j].o==bv[j+1].o){
if(bv[j].z>bv[j+1].z){
swap(bv[j],bv[j+1]);
}
}
if(bv[j].o>bv[j+1].o){
swap(bv[j],bv[j+1]);
}
}
if(bv[j].d>bv[j+1].d){
swap(bv[j],bv[j+1]);
}
}
}
for(int i=0;i<n;i++){
cout<<bv[i].o<<"/"<<bv[i].z<<"/"<<bv[i].d<<endl;
}
return 0;
}
记得,点赞,关注加收藏~