zoukankan      html  css  js  c++  java
  • 日历问题

    日历问题

    题目描述

    在我们现在使用的日历中, 闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。例如:1700, 1800, 1900 和 2100 不是闰年,而 1600, 2000 和 2400是闰年。 给定从公元2000年1月1日开始逝去的天数,你的任务是给出这一天是哪年哪月哪日星期几。

    输入

    输入一行,每行包含一个正整数,表示从2000年1月1日开始逝去的天数。数据保证结果的年份不会超过9999。

    输出

    输出一行,该行包含对应的日期和星期几。格式为“YYYY-MM-DD DayOfWeek”, 其中 “DayOfWeek” 必须是下面中的一个: "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" 或 "Saturday“。

    样例输入

    1

    样例输出

    2000-01-02 Sunday

    AC:
     1 #include <cstdio>
     2 #include <cstring>
     3 #include <algorithm>
     4 using namespace std;
     5 int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
     6 int year_day(int year)//计算是闰年还是平年
     7 {
     8     if (year%400==0 || (year%4==0 && year%100!=0))
     9         return 366;
    10     else
    11         return 365;
    12 }
    13 void calendar(int day)//计算日期
    14 {
    15     int a=2000;
    16     while (day>=0)
    17     {
    18         day-=year_day(a);
    19         a++;
    20     }
    21     day+=year_day(a-1);
    22     printf("%d-",a-1);
    23     if (year_day(a-1)==366)
    24         month[1]=29;
    25     int x=0;
    26     while (day>month[x])
    27     {
    28         day-=month[x];
    29         x++;
    30     }
    31     if (x<9)
    32         printf("0");
    33     printf("%d-",x+1);
    34     if (day<10)
    35         printf("0");
    36     printf("%d ",day+1);
    37 }
    38 int main()
    39 {
    40     int day;
    41     scanf("%d",&day);
    42     calendar(day);
    43     switch (day%7)//枚举每一种情况
    44     {
    45         case 0:printf("Saturday
    ");break;
    46         case 1:printf("Sunday
    ");break;
    47         case 2:printf("Monday
    ");break;
    48         case 3:printf("Tuesday
    ");break;
    49         case 4:printf("Wednesday
    ");break;
    50         case 5:printf("Thursday
    ");break;
    51         case 6:printf("Friday
    ");break;
    52     }
    53     return 0;
    54 }
    calendar
  • 相关阅读:
    3170: [Tjoi 2013]松鼠聚会
    1577: [Usaco2009 Feb]庙会捷运Fair Shuttle
    时间管理小强升级记
    Lifray Portlet
    反面模式
    LiferayFAQ(持续更新)
    【转载】JRockit检测Tomcat内存溢出JAVA内存泄漏问题
    Liferay环境搭建
    QQ登陆篇
    设计模式MM版
  • 原文地址:https://www.cnblogs.com/LHR-HY/p/11064709.html
Copyright © 2011-2022 走看看