明天是几号?

简单粗暴直接!
明天是几号?
Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description
忙碌了一天的 bLue 累得瘫在床上,他想知道明天是几号,你能告诉他吗?

Input
输入数据有多组(数据组数不超过 50000),到 EOF 结束。

每组数据输入一行,包含用空格隔开的 3 个整数,表示今天的日期,分别为年、月、日。

保证输入日期的年份在 1900 到 2035 之间。

Output
对于每组数据,在一行中输出明天的日期,格式为 “y m d”,分别表示年、月、日。

Sample Input
2016 12 27
2016 2 29
Sample Output
2016 12 28
2016 3 1
Hint
能被 4 整除且非整百年的,或能被 400 整除的为闰年。

Source
【2016级《程序设计基础(B)I》期末上机考试-第一场】bLue`

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int y,m,d;
    while(~scanf("%d %d %d",&y,&m,&d))
    {
        if((y%4==0&&y%100!=0)||(y%400==0))
        {
            if(m!=12&&m!=2)
            {
                if(m==1||m==3||m==5||m==7||m==8||m==10)
                {
                    if(d<=30)printf("%d %d %d\n",y,m,d+1);
                    else if(d==31) printf("%d %d 1\n",y,m+1);
                }
                else if(m==4||m==6||m==9||m==11)
                {
                    if(d<30)printf("%d %d %d\n",y,m,d+1);
                    else if(d==30) printf("%d %d 1\n",y,m+1);
                }
            }
            else if(m==2)
            {
                if(d==29)
                    printf("%d 3 1\n",y);
                else
                    printf("%d %d %d\n",y,m,d+1);
            }
            else if(m==12)
            {
                if(d==31)
                    printf("%d 1 1\n",y+1);
                else
                    printf("%d %d %d\n",y,m,d+1);
            }
        }
        else
        {
            if(m!=12&&m!=2)
            {
                if(m==1||m==3||m==5||m==7||m==8||m==10)
                {
                    if(d<=30)printf("%d %d %d\n",y,m,d+1);
                    else if(d==31) printf("%d %d 1\n",y,m+1);
                }
                else if(m==4||m==6||m==9||m==11)
                {
                    if(d<30)printf("%d %d %d\n",y,m,d+1);
                    else if(d==30) printf("%d %d 1\n",y,m+1);
                }
            }
            else if(m==2)
            {
                if(d==28)
                    printf("%d 3 1\n",y);
                else
                    printf("%d %d %d\n",y,m,d+1);
            }
            else if(m==12)
            {
                if(d==31)
                    printf("%d 1 1\n",y+1);
                else
                    printf("%d %d %d\n",y,m,d+1);
            }
        }
    }
    return 0;
}


猜你喜欢

转载自blog.csdn.net/weixin_43959436/article/details/85717870