• 杭电1201--18岁生日


    18岁生日

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 23275    Accepted Submission(s): 7449


    Problem Description
    Gardon的18岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达18岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达18岁生日所经过的总天数,让他好来比较一下。
     

     

    Input
    一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。
     

     

    Output
    T行,每行一个数,表示此人从出生到18岁生日所经过的天数。如果这个人没有18岁生日,就输出-1。
     

     

    Sample Input
    1 1988-03-07
     

     

    Sample Output
    6574
     

     

    Author
    Gardon
     

     

    Source
     

     

    Recommend
    JGShining   |   We have carefully selected several similar problems for you:  1205 1215 1228 1235 1202 
     
    //没想到一次AC:
     1 #include <stdio.h>
     2 int num[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
     3 int judge(int year)
     4 {
     5     if((year % 4 == 0 && year % 100!=0) || year % 400 ==0)
     6         return 1 ;  
     7     else
     8         return 0 ;
     9 }
    10 int main() 
    11 {
    12     int i, j, n, y, m, d ;
    13     
    14     scanf("%d", &n) ;
    15     while(n--)
    16     {
    17         scanf("%d-%d-%d", &y, &m, &d) ;
    18         if(m == 2 && judge(y) && d == 29 && !judge(y+18))  //没有18岁生日 ;         
    19         {
    20             printf("-1
    ") ;
    21             continue ;
    22         }
    23         int sum = 0 ;
    24         for(i = y; i < y+18; i++)
    25         {
    26             sum += 365 ;
    27             if(judge(i))
    28             sum += 1 ;
    29         }
    30         int total = d ;
    31         for(i = 1; i < m; i++)
    32             total += num[i] ;
    33         int gq = d, nw = d ;
    34         if(judge(y) && m > 2)
    35             gq += 1 ;
    36         if(judge(y+18) && m > 2)
    37            nw += 1 ;
    38         int re = sum - gq + nw ;
    39         printf("%d
    ", re) ;
    40     }
    41     return 0 ;
    42 }
     
  • 相关阅读:
    chlick 在 blur 之后触发
    屏蔽运营商广告
    script标签清除缓存
    http-equiv 详解
    jqLite
    js 时间戳和转换-转载
    JS数组的常用方法
    js 前端实现文件流下载的几种方式
    解决兼容性的库
    移动端兼容性问题
  • 原文地址:https://www.cnblogs.com/soTired/p/4674161.html
Copyright © 2020-2023  润新知