原题链接:日期排序
主要利用struct 排序对时间排序 先对年 后对月然后对日
sort 排序 对结构体中的各个元素进行排序有先后顺 主要是自定义一个函数来进行对比排序 代码下:
#include<iostream>
using namespace std;
#include<algorithm>
#include<cstdio>
struct da{
int x,y,z;
};
int cmp(da d1,da d2)
{
if(d1.z!=d2.z)
{
return d1.z<d2.z;
}
else
{
if(d1.x!=d2.x)
{
return d1.x<d2.x;
}
else
{
return d1.y<d2.y;
}
}
}
int main()
{
da a[1005];
int i=0;
while(~scanf("%d/%d/%d",&a[i].x,&a[i].y,&a[i].z))
{
/*cout<<a[i].x<<" "<<a[i].y<<" "<<a[i].z<<endl; */
i++;
sort(a,a+i-1,cmp);
/* cout<<"---------"<<endl; */
}
/*for(int m=0;m<i;m++){
cout<<a[m].x<<"/"<<a[m].y<<"/"<<a[m].z<<endl;
}
*/
for(int m=0;m<i;m++){
if((a[m].x>=0&&a[m].x<=9)){
if(a[m].y>=0&&a[m].y<10)
{
cout<<"0"<<a[m].x<<"/"<<"0"<<a[m].y<<"/"<<a[m].z<<endl;
}
else{
cout<<"0"<<a[m].x<<"/"<<a[m].y<<"/"<<a[m].z<<endl;
}
}
else{
if(a[m].y>=0&&a[m].y<10)
{
cout<<a[m].x<<"/"<<"0"<<a[m].y<<"/"<<a[m].z<<endl;
}
else{
cout<<a[m].x<<"/"<<a[m].y<<"/"<<a[m].z<<endl;
}
}
//cout<<a[m].x<<"/"<<a[m].y<<"/"<<a[m].z<<endl;
}
}
0 分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复