星际炸弹

题目描述

在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。
每个炸弹都可以设定多少天之后爆炸。
比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。
有一个贝塔炸弹,a年b月c日放置,定时为n天,请你计算它爆炸的准确日期。

输入

输入存在多组数据,每组数据输入一行,每一行输入四个正整数a,b,c,n
输入保证日期在1000-01-01到2020-01-01之间,且日期合法。
n不超过1000

输出

请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19
请严格按照格式书写。不能出现其它文字或符号。

代码实现:

#include<stdio.h>
int main()
{
    
    
    int y,m,d,n;
    scanf("%d %d %d %d",&y,&m,&d,&n);
    for(int i=0;i<n;i++)
    {
    
    
        d++;
        if(m==4||m==6||m==9||m==11)
        {
    
    
             if(d==31)
             {
    
    
                d=1;
                m++;
             }
        continue;
        }
        if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
        {
    
    
             if(d==32)
             {
    
    
                 d=1;
                 m++;
                 if(m==13)
                 {
    
    
                       y++;
                       m=1;
                 }

             }
              continue;
        }
        if(m==2)
        {
    
    
            if((y%4==0&&y%100!=0)||y%400==0)
            {
    
    
             if(d==30)
             {
    
    
                  d=1;
                m++;
             }
            }
            else
            {
    
    
                if(d==29)
                {
    
    
                    d=1;
                    m++;
                }
            }
        }

    }
    printf("%d %d %d",y,m,d);
  return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_46472395/article/details/114448831