问题 1227: 日期排序
时间限制: 1Sec 内存限制: 128MB 提交: 15 解决: 11
题目描述
有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。
输入
无
输出
无
样例输入
15/12/1999
10/21/2003
10/22/2003
02/12/2004
11/30/2005
12/31/2005
样例输出
15/12/1999
10/21/2003
10/22/2003
02/12/2004
11/30/2005
时间限制: 1Sec 内存限制: 128MB 提交: 15 解决: 11
题目描述
有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。
输入
无
输出
无
样例输入
15/12/1999
10/21/2003
10/22/2003
02/12/2004
11/30/2005
12/31/2005
样例输出
15/12/1999
10/21/2003
10/22/2003
02/12/2004
11/30/2005
12/31/2005
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct riqi
{
int month;
int year;
int day;
}r[100];
int cmp(riqi a,riqi b)
{
if(a.year==b.year)
{
if(a.month<b.month)
{
return a.day<b.day;
}
else
{
return a.month<b.month;
}
}
else
return a.year<b.year;
}
int main()
{
int i=0,j;
while (scanf("%d/%d/%d",&r[i].month,&r[i].day,&r[i].year)!=EOF)
{
i++;
}//记录多少组数据。
sort(r,r+i,cmp);//引用sort函数。
for(j=0;j<i;j++)
{
printf("%02d/%02d/%d\n",r[j].month,r[j].day,r[j].year);
}
}