• nyoj312 20岁生日


    20岁生日

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:1
     
    描述
    路过这的20岁生日就要到了,他当然很开心,可是他突然想到一个问题,是不是每个人从出生开始,到达20岁生日时所经过的天数都是一样的呢?似乎并不全都是这样,所以他想请你帮忙计算一下他和他的几个朋友从出生到达20岁生日所经过的总天数,让他好来比较一下。
     
    输入
    一个数T,后面T行每行有一个日期,格式是YYYY-MM-DD。如我的生日是1988-03-07。
    输出
    T行,每行一个数,表示此人从出生到20岁生日所经过的天数。如果这个人没有20岁生日,就输出-1。
    样例输入
    1
    1988-03-07
    样例输出
    7305

    View Code
     
    #include<stdio.h>
    int runnian(int n)
    {
        if((n%4==0&&n%100!=0)||(n%400==0))
            return 1;
        return 0;
    }
    int main()
    {
        int i,n,year,month,day,t;
        char cha,chb;
        scanf("%d",&n);
        while(n--)
        {
            scanf("%d%c%d%c%d",&year,&cha,&month,&chb,&day);
            if((!runnian(year+20))&&(month==2)&&(day==29))
                printf("-1\n");
            else
            {
                t=0;
                for(i=year;i<year+20;i++)
                {
                    if(runnian(i))
                        t+=366;
                    else
                        t+=365;
                }
            
                if(runnian(year)&&(!runnian(year+20))&&(month>2))
                    t--;
                if((!runnian(year))&&(runnian(year+20))&&(month>2))
                    t++;
                printf("%d\n",t);
            }
        }
        return 0;
    }
            
  • 相关阅读:
    C# 根据二级栏目Id查询出所属文章的信息列表
    C#网站首页制作MVC
    C#Mvc退出登录
    C#Mvc修改密码
    C#网站开发之内容页Content
    C#Mvc登录功能
    Linux命令——shell
    学习笔记cisco常用命令
    性能相关术语
    Linux命令(一)
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_2012_07_1200.html
Copyright © 2020-2023  润新知