计算日期到天数转换【编程题】

原创 2017年01月03日 10:02:18

题目

描述

根据输入的日期,计算是这一年的第几天。。
详细描述:
输入某年某月某日,判断这一天是这一年的第几天?。

输入

输入三行,分别是年,月,日

输出

成功:返回outDay
输出计算后的第几天;
失败:返回-1

样例输入

2016 12 31

样例输出

366

思路

是先建立一个数组保存每月累计的日子,判断是否是闰年,然后加1

代码

#include <iostream>
using namespace std;

bool loopyear(int year)    //判断是否是闰年
{
    if((year%4==0&&year%100!=0)||year%400==0)
    {
        return 1;
    }
    else
    {
        return 0;
    }

}
bool checkDay(int month, int day)//检查输入的合法性
{
    int a[13]= {0,31,59,90,120,151,181,212,243,273,304,334,365};
    if(day>0&&day<=(a[month]-a[month-1]))
    {
        return true;
    }
    return false;
}

int getOutDay(int year, int month, int day)
{
    int sum=0;
    int a[12]= {0,31,59,90,120,151,181,212,243,273,304,334};
    bool isDayOk=checkDay(month,day);
    if (loopyear(year)&&month>2&&isDayOk)//如果是闰年且月份大于2
    {
        sum=a[month-1]+day+1;
    }
    else if(isDayOk)
    {
        sum=a[month-1]+day;
    }
    else
    {
        sum=-1;
    }
    return sum;
}

int main()
{
    int year,month,day;
    cin>>year;
    cin>>month;
    cin>>day;
    cout<<getOutDay(year,month,day);
    return 0;
}
版权声明:本文为博主原创文章,欢迎转载,分享是一种态度。

相关文章推荐

JS计算日期加天数后的日期(起始日期+有效天数=截至日期)

/** * 优惠券有效期 * startDate:起始日期 * valueTime:有效天数 */ function transferCouponValueTime(startDat...

js 获取指定日期的前几天日期或后几天日期

getDateFromCurrentDate(fromDate,dayInterval){ var curDate = new Date(Date.parse(fromDate.replace(/-...

使用js计算N天前后的日期

这个javascript函数是获取当前时间前后N天日期的方法,可以得到昨天,今天,明天,一月前,三月前,半年前,一年前的日期,只要修改参数就可以实现得到任何一个天数。具体用法如下: fu...

华为OJ——计算日期到天数转换

题目描述 根据输入的日期,计算是这一年的第几天。。 详细描述: 输入某年某月某日,判断这一天是这一年的第几天?。 输入描述: 输入三行,分别是年,月,日 输出描...

日期天数计算

  • 2014-12-03 14:24
  • 881KB
  • 下载

计算两个日期的间隔天数

JavaScript部分: // * 计算两个日期的间隔天数 // * BeginDate:起始日期的文本框,格式為:2012-01-01 ...

JS计算日期天数之差

做项目的时候碰到一个问题,就是要计算2个日期之间的天数之差,于是上网搜索了一下,找到了解决方案,代码如下: //计算日期之差 function getDays(strDateStart,str...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)