指定日期计算出N天后的日期问题
问题描述:先输入起始日期,再输入任意天数n,求n天后的日期。
源代码一(参考http://zhidao.baidu.com/linkurl=0BxF0QvTywzuRkLUFj6ulUQKYqp97CjUOZBV1UUmXoCkS9HNyOT2axHkcOsRLi-xlB_JE6KvdglSD23S35EUXK)
#include<stdio.h>
<span style="font-family:SimHei;font-size:14px;"><strong>int main()
{int year,month,day;int leapyear=0;int daytime=0;int sum;static int month_date[12]={31,28,31,30,31,30,31,31,30,31,30,31};printf("请输入日期:");scanf("%d-%d-%d",&year,&month,&day);printf("请输入天数:");scanf("%d",&daytime);sum=daytime+day;do{if(month==2){month_date[month-1]+=leapyear;}if(sum>month_date[month-1]){sum-=month_date[month-1];month++;if(month==13){year++;if(year%400==0||(year%100!=0&&year%4==0)){leapyear=1;}else{leapyear=0;}month=1;}}} while(sum>month_date[month-1]);day=sum;printf("\n第%d天后是%d-%d-%d",daytime,year,month,day);return 0;
}</strong></span><span style="font-family: arial, 'courier new', courier, 宋体, monospace; font-size: 14px;">
</span>
<span style="font-family:SimHei;font-size:14px;"><strong>
</strong></span>
源代码二(自己写的)

#include<stdio.h>
int year,month,day,days,years;
int a[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int ru(int year)
{
    if(year%400==0||year%4==0&&year%100!=0)
        return 1;
    else
        return 0;
}
void rest(int days)
{
    int i;
    for(i=1;i<=12;i++)
    {
            if(days-a[i]>0)
                days=days-a[i];
            else
            {
                month=i;
                day=days;
                break;
            }
    }
if(i-1==12)
     {
         year=year+1;
         if(!ru(year))
             days++;
         rest(days);
     }
     year+=years;
}
int main()
{
    int i;
    while(scanf("%d%d%d%d",&year,&month,&day,&days)==4)
    {
        days=days-(a[month]-day);
        if(!ru(year)&&month<=2)
            days=days+1;
        for(i=month+1;i<=12;i++)
        {
            if(days>a[i])
                days=days-a[i];
            else
                break;
        }
        if(i-1==12)
        {
            printf("%d\n",days);
            year++;
            years=0;
            while(days>=366)
            {
               days=days-366;
               years++;
            }
            for(i=1;i<=years;i++)
            {
                if(!ru(year+i))
                    days++;
            }
            rest(days);
        }
        else
        {
                month=i;
                day=days;
        }
       printf("%d-%d-%d\n",year,month,day);
    }
    return 0;
}

对指定日期计算出N天后的日期问题相关推荐

  1. js日期计算,根据当前日期计算n个月后的日期

    js计算n个月后的日期,并匹配月底,处理闰年,闰月 工作中遇到日期计算的需求,需要根据给定的日期计算出n个月后的日期,开始感觉挺简单一需求,因为现成的moment.js就有日期加月份计算的功能,但需求 ...

  2. java中,根据指定日期显示出前n天的日期

    大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 今天分享的是:在java中,根据指定日期显示出前n天的日期 效果如下: 大家注意观察上面的时间,我传入的时间是:2022年5月9日21:28:03, ...

  3. Shell 获取指定日期 N 天/月/年前(后)的日期

    0 前 言 我们有时候在写批处理 Shell 脚本时,可能需要获取指定日期前(后) N 天/月/年的日期,这里的 N 可以是 1 天/月/年.2 天/月/年.3 天/月/年等等.方法其实很简单,这里做 ...

  4. js 根据公历日期 算出农历_根据公历日期计算农历年生肖及公历转换农历的方法...

    本帖最后由 wshcw 于 2011-12-6 23:23 编辑 有部分E友都知道,农历格式"[$-130000]e-m-d"转换出来的结果有好大一部分有误,那有没有其它转换办法呢 ...

  5. ORACLE通过两个日期计算出刚出生小孩年龄,几月几天表示

    [需求]出生后按照日历计算的历法年龄.年龄满1周岁的,以实足年龄的相应整数填写:年龄不足1周岁的,按照实足年龄的月龄填写,以分数形式表示:分数的整数部分代表实足月龄,分数部分分母为30,分子为不足1个 ...

  6. java实现剩余年假计算_通过参加工作日期计算出年假

    Alter Function F_GetYearHoliday ( @JoinWorkDate datetime--参加工作时间 ) Returns int /* 计算年假 */ As Begin D ...

  7. 算出当前系统后某个月的日期_Python3.7知其然知其所以然-第十八章 日期函数

    时光不可追,往事不可回.以往创建的数据,如若没有日期做标识,不堪回首.几乎任何一个产品都会用到日期,如登录日期.创建日期.修改日期等.正因如此,编程语言中,几乎都有内置日期函数. 18.1 当前日期 ...

  8. c++ 输入一个日期,计算出该日期是这一年中的第几天(switch语句)

    c++ 日期计算 系统提示用户输入一个日期(年月日),随后根据用户提供的日期,利用switch语句,计算出该日期是这一年中的第几天.(注意闰年的判断,当日期在2月以后,天数应加一) (大一写的代码,算 ...

  9. 标 题:[转帖]SQL Server日期计算(收藏)

    分    类:数据库相关 关键字 :日期 相    关:作者:未知    来源:xpilot 的 Blog 引    用:[0]http://goaler.xicp.net/TrackBack.asp ...

最新文章

  1. 论文免费开源:NB-IoT智慧路灯监控系统
  2. Elasticsearch之深入了解Search的运行机制
  3. ubuntu 无法进入startx_Ubuntu无法进入图形化界面(报错/dev/sda1:clean的解决)
  4. 用Autofac替换.net core 内置容器
  5. oracle pid查看,查看佔用aix oracle pid
  6. 世界人工智能发展究竟到了什么水平 ?
  7. 微型计算机技术及应用 习题答案,微型计算机技术及应用习题答案.doc
  8. JQ 全选后获取选中的值_JQ完全学习版本
  9. oracle 匿名段,这段匿名块看着没什么问题啊
  10. excel 2007 vba与宏完全剖析_Excel怎么保护自己的劳动成果?强制用户启用宏,再加上这一步...
  11. 2013年新年礼物---CrossFPC 终于出来了
  12. Eclipse配置svn
  13. 调查显示:数据中心行业女性获得报酬比男性多
  14. 7. 开启 mysql remote access
  15. 我的WCF之旅(5):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的重载(Overloading)...
  16. mac电脑谷歌浏览器全屏显示选项卡
  17. Excel VLOOKUP实用教程之 08 VLOOKUP如果实现区分大小写的查找?(教程含数据excel)
  18. YOLOv5、v7改进之三十七:结合CVPR2022新作ConvNeXt网络
  19. R 语言 用黎曼和求近似 积分
  20. 曾我爱的人《亲爱的,别跨过那条江》:关于爱你,我准备用一生

热门文章

  1. 搭建本地 8.8 W 乌云漏洞库
  2. windows系统磁盘清理
  3. 协作与自我价值的关系
  4. katalon进行app测试_通过Katalon Automation Recorder 3步实现自动化测试
  5. mysql正则_mysql正则表达式总结
  6. 很久前学习java总结的笔记
  7. Python书籍阅读与记录6.10 II 变量和简单数据类型
  8. 信联征信参与新国都首届国际代理商大会
  9. Oracle 更改表名称的几种方式
  10. 我相信,青春没有地平线