欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

明天是几号?

程序员文章站 2022-06-21 14:51:11
...

简单粗暴直接!
明天是几号?
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;
}


相关标签: 代码