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 }

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

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

  • 相关阅读:
    Codeforces 912 D. Fishes (贪心、bfs)
    Codeforces 908 D.New Year and Arbitrary Arrangement (概率&期望DP)
    HDU
    HDU
    POJ-2299 Ultra-QuickSort (树状数组)
    deque!
    HDU
    乘法逆元
    Codeforces 911D. Inversion Counting (数学、思维)
    Codeforces 909E. Coprocessor (拓扑、模拟)
  • 原文地址:https://www.cnblogs.com/2018jason/p/12080294.html
Copyright © 2011-2022 走看看