1w天后的生日数

题目:

        CCC老师的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天)


输入:

        输入有多行,格式为YY MM DD 其中1949<=YY<=2006,日期绝对合法。

输出:

        输出有多行。即CCC老师生日第一万天以后的日期,格式为 “Y-M-D”。


eg:

输入:

1979 4 16

输出:

2006-9-1

思路:这个题是关于天数的计算,但闰年平年天数不同,所以要先判断是否为闰年,再根据天数进行加法运算,一次递进,增加年与月,最后得出答案

#include<bits/stdc++.h>
using namespace std;

//判断是否为闰年 
int check(int n)        
{
    if((n % 4 == 0 && n % 100 != 0) || ( n % 400 == 0))
    return 1;
    return 0;
    }
    
//进入主函数 
int main()
{ 
    //初始化每一个月 二月mon[1]先初始化为0  
    int mon[12] = {31 ,0 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31};
    //y为年,m为月,d为天 
    int y ,m ,d;
    while(cin >> y >> m >> d)
    {
        for(int i = 1 ; i <= 10000 ; i++)
        {
            d++;
            //判断是否为闰年
            if(check(y))    
			//闰年二月29天     
                mon[1] = 29; 
            else
            //平年2月28天 
                mon[1] = 28;
            if(d > mon[m-1])
            {
                d %= mon[m-1];
                m++;
            }
            if( m > 12 )
            {
                y++;
                m %= 12;
            }
        }
        cout << y << '-' << m << '-' << d << endl; 
    }
    return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糊涂苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值