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

原创 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;
}
版权声明:本文为博主原创文章,欢迎转载,分享是一种态度。

判断距离1970年1月1日的天数

功能: 输入年月日,计算距离1970年1月1日的天数 输入: 年月日,输入年份范围【1970,2100】,输入年月日的有效性需要判断 输出: DaysSince...
  • bedrock32
  • bedrock32
  • 2014年07月10日 11:28
  • 1943

标准C语言各种时间函数用法

1.概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C/C++对时间的操作也有许多值得大家注意的地方。下面主要介绍在C/C++中时间和日期的使用方法. 通过学习许多C/C++库...
  • xiaoshengqdlg
  • xiaoshengqdlg
  • 2014年07月30日 09:40
  • 7061

一个小C问题:计算从1970年到某一时期所经历的秒数

博客目录:       一、常识;       二、常用的函数举例;       三、解决一个问题;                                      ...
  • chunlovenan
  • chunlovenan
  • 2015年03月19日 19:09
  • 4297

时间戳转日期的算法(C语言实现)

1、算法 时间是有周期规律的,4年一个周期(平年、平年、平年、闰年)共计1461天。Windows上C库函数time(NULL)返回的是从1970年1月1日以来的毫秒数,我们最后算出来的年数一定要加上...
  • mfcing
  • mfcing
  • 2015年09月14日 18:25
  • 10669

c语言实现的任意日期和天数的转换

  • 2008年12月26日 18:57
  • 8KB
  • 下载

C语言实现日期和一年中的天数的相互转化

#include static char daytab[2][13]= { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {...
  • li_canhui
  • li_canhui
  • 2011年09月29日 15:35
  • 4143

C语言计算日期,前n天,后n天方法

参数说明: cDateIn–输入日期,YYYYMMDD n–前后天数。例:前2天输入-2,后2天输入2 cDateOut–输入日期,YYYYMMDDint dateChange(char *cD...
  • geili0011
  • geili0011
  • 2017年01月05日 07:07
  • 964

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

题目描述 根据输入的日期,计算是这一年的第几天。。 详细描述: 输入某年某月某日,判断这一天是这一年的第几天?。 输入 输入三行,分别是年,月,日 输出 成功:返回outDay...
  • u010352111
  • u010352111
  • 2017年01月03日 10:02
  • 603

计算某日期与当前日期天数

package Exercise3; import java.text.ParseException; import java.text.SimpleDateFormat; import java.u...
  • qq_34803572
  • qq_34803572
  • 2017年04月10日 08:54
  • 91

计算日期到天数转换

import java.util.Scanner; public class CountDays { public static void main(String[] args) { Sc...
  • liaction
  • liaction
  • 2015年08月19日 17:34
  • 884
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:计算日期到天数转换【编程题】
举报原因:
原因补充:

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