当前位置:首页 > 题解目录 > 正文内容

【题解】日期排序

亿万年的星光5年前 (2021-03-26)题解目录5602

【题目描述】

有一些日期,日期格式为“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

【题目分析】

  • 仔细看的话日期不符合正常认知,但是不影响做题。

  • 日期按大小排序,从样例可以看出是从小到大排序。

  • 可以用结构体吧年月日全部存起来,然后用前面学过的sort函数进行比较。 sort函数的具体用法参考。

  • 题目中并没有说明有多少组数据,属于不确定长度输入一类。



【参考代码】

#include<bits/stdc++.h>
using namespace std;

//定义结构体函数 
struct data {
    int day; //日 
    int month; // 月 
    int year; //年 
}d[100];
 
bool cmp(struct data  x, struct data y)
{
    if(x.year!=y.year) 
    	return x.year<y.year;  //年份不相同,就先排年份 
    if(x.month!=y.month)
    	return x.month<y.month; //月份不相同,就排月份 
    if(x.day!=y.day) 
    	return x.day<y.day; //日不相同,就排日 
 
}

int main()
{
    int i = 0;
    while(scanf("%d/%d/%d", &d[i].month, &d[i].day, &d[i].year) != EOF)  //读入数据 
    {
        i++;
    }
    sort(d, d + i, cmp); //排序函数 
    for (int j = 0; j < i; j++)
    {
        printf("%02d/%02d/%d\n", d[j].month, d[j].day, d[j].year);
    }
 
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【题解】分糖果问题

    【题解】分糖果问题

    【题目描述】一群孩子做游戏,现在请你根据游戏得分来发糖果,要求如下:每个孩子不管得分多少,起码分到一个糖果。任意两个相邻的孩子之间,得分较多的孩子必须拿多一些糖果。(若相同则无此限制)给定一个数组 a...

    【题解】计数2的N次方

    【题目描述】任意给定一个正整数N(N≤100),计算2的n次方的值。【输入描述】输入一个正整数N。【输出描述】输出2的N次方的值。【样例输入】5【样例输出】32【参考答案】#include<io...

    【题解】给定和为定数

    【题目描述】给出若干个整数,询问其中是否有一对数的和等于给定的数。【输入描述】第一行是整数n(0 < n ≤ 100,000),表示有n个整数。第二行是n个整数。整数的范围是在0到108之间。第...

    【题解】智力大冲浪

    【题目描述】小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的。接下来主持人宣布了比赛规则:首...

    【题解】上学线路(2019青岛市程序设计比赛)

    【题解】上学线路(2019青岛市程序设计比赛)

     【题目描述】小D从家到学校的道路结构是这样的:由n条东西走向和m条南北走向的道路构成了一个n*m的网格,每条道路都是单向通行的(只能从北向南,从西向东走)。已知小D的家在网格的左上角,学校...

    【题解】最多次数

    【题目描述】小蓝有一个字符串 s,他特别喜欢由以下三个字符组成的单词:l,q,b,任意顺序都可以,一共有 6 种可能:lqb、lbq、qlb、qbl、blq、bql。现在...