zoukankan      html  css  js  c++  java
  • 来到地球多久啦

     1 #include <stdio.h>
     2 int leap(int year);                         //闰年返回1,否则返回0
     3 int yeardays(int year, int month, int day); //返回一年中的第几天
     4 int days(int year);                         //返回一年的总天数
     5 int main(void)
     6 {
     7     int birth_year, birth_month, birth_day;
     8     int to_year, to_month, to_day;
     9     int day_num = 0;
    10     scanf("%d %d %d", &birth_year, &birth_month, &birth_day);
    11     scanf("%d %d %d", &to_year, &to_month, &to_day);
    12 
    13     if (birth_year == to_year)
    14     {
    15         day_num = yeardays(to_year, to_month, to_day) - yeardays(birth_year, birth_month, birth_day);
    16     }
    17     else
    18     {
    19         day_num = days(birth_year) - yeardays(birth_year, birth_month, birth_day) + 1;
    20         for (int i = birth_year + 1; i < to_year; i++)
    21         {
    22             day_num = day_num + days(i);
    23         }
    24         day_num = day_num + yeardays(to_year, to_month, to_day);
    25     }
    26 
    27     printf("%d
    ", day_num);
    28 
    29     return 0;
    30 }
    31 int leap(int year)
    32 {
    33     int ret;
    34 
    35     if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
    36     {
    37         ret = 1;
    38     }
    39     else
    40     {
    41         ret = 0;
    42     }
    43 
    44     return ret;
    45 }
    46 int yeardays(int year, int month, int day)
    47 {
    48     int days = 0;
    49     int month_days[2][13] = {
    50         {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    51         {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    52     };
    53     for (int i = 1; i < month; i++)
    54     {
    55         days = days + month_days[leap(year)][i];
    56     }
    57     days = days + day;
    58 
    59     return days;
    60 }
    61 int days(int year)
    62 {
    63     int ret;
    64     if (leap(year))
    65     {
    66         ret = 366;
    67     }
    68     else
    69     {
    70         ret = 365;
    71     }
    72 
    73     return ret;
    74 }

    输入两个日期(年 月 日),计算两个日期经过了多少天。

    可以输入自己的生日和当前的日期,计算自己来到地球多少天了。

  • 相关阅读:
    python中将汉字转换成拼音
    关于拉格朗日和内维尔插值算法的python实现
    hdoj1874 (优先队列+Dijkstra)
    hdoj1325 Is It A Tree?
    poj2299 二分思想
    nyoj89 汉诺塔(二)
    nyoj914Yougth的最大化(二分搜索 + 贪心)
    nyoj832 合并游戏(状态压缩DP)
    zoj2432 hdoj1423 最长公共上升子序列(LCIS)
    poj1308 Is It A Tree?(并查集)详解
  • 原文地址:https://www.cnblogs.com/2018jason/p/12080294.html
Copyright © 2011-2022 走看看