问题 A: 日期排序
题目描述
有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。
输入
输出
样例输入
15/12/199910/21/200310/22/200302/12/200411/30/200512/31/2005
样例输出
15/12/199910/21/200310/22/200302/12/200411/30/200512/31/2005
#include<algorithm>
#include<cstdio>
using namespace std;
struct riqi
{
int day;
int month;
int year;
}r[100];
int compare(riqi a,riqi b)//用sort函数必须建一个compare.
{
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,compare);//引用sort函数。
for(j=0;j<i;j++)
{
printf("%02d/%02d/%d\n",r[j].month,r[j].day,r[j].year);
}
}