1,题目:
有两个日期,计算它们之间的差值,如果两个日期是连续的,则按照2天算。
日期格式规定为YYYYMMDD,例如20200709
2,基本思路
(1)输入两个日期
(2)以小的日期为底,每次加一天,直到与大的日期相等即可
(2.1)增加一天后,月份,年份都可能会随之变化。针对闰年平年以及大小月天数都一样,采用一个12*2的二维数组列出12月的润平年的天数。
(2.2)当达到月份的天数时,月份加1
(2.3)当达到12个月时,年份加1

3 代码

#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
bool isLeap(int year) {return (year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0);
}
int main() {//定义好平年和闰年每月的天数int monthDays[13][2] = {{0,0},{31,31},{28,29},{30,30},{31,31},{30,30},{31,31},{30,30},{31,31},{30,30},{31,31},{30,30},{31,31}};int time1, year1, month1, days1;int time2, year2, month2, days2;int numbers =1;// 输入两个日期cout << "输入两个日期,空格分隔";cin >> time1 >> time2;if (time1>time2){int temp = time1;time1 = time2;time2 = temp;}//拆解日期,分为年,月,号year1 = time1 / 10000; month1 = time1 / 100 % 100; days1 = time1 % 100;year2 = time2 / 10000; month2 = time2 / 100 % 100; days2 = time2 % 100;//第一个日期 累加到 第二个日期while (year1 < year2 || month1 < month2 || days1 < days2) {days1++;// 在第一个日期基础上  加一天//加一天后,相应的月,年可能也要做一定的变化if (days1 == monthDays[month1][isLeap(year1)]+1) {//当前号超过当前月最高天数:月份加1,号变成下月的1号month1++;days1 = 1;}if (month1 == 13) {//月份超过12个月 :年份加1,月份变成下年的1月year1++;month1 = 1;}numbers++;}cout << numbers << endl;return 0;
}

c/c++ 输入两个日期,计算日期相差多少天相关推荐

  1. java编程用户输入两个数字_编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不...

    导航:网站首页 > 编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不 编写一个Java应用程序,要求从键盘输入 ...

  2. javascript 日期计算器 推算几天后的日期 计算日期差

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  3. 输入两个数,计算它们的最大公约数和最小公倍数

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p91 习题3 16.输入两个数m和n,计算它们的最大公约数和最小公约数. 求最小公倍数:最小公倍数=两 ...

  4. mysql 日期截止,MySQL查询以开始日期和结束日期计算日期范围内的天数

    要计算日期范围内的天数,您需要使用来查找日期之间的差额DATEDIFF(). 让我们首先创建一个表:mysql> create table DemoTable730 ( StartDate da ...

  5. python输入两个数字、输出和差积商_C语言程序设计:输入两个整数,计算并输出它们的和、积、差、商和余数各是多少?...

    展开全部 #include void main(){ int a,b; printf("请输入两个数字"); scanf("%d",&a); scanf ...

  6. python实现对输入日期计算日期为当年第几天

    设计思路:1)首先定义一个日期接收参数 2)然后将日期参数中的年,月,日分割提取出来(并转换为整数) 3)判断输入的日期是否正确 4)判断闰年还是平年,如果平年,那么定义的一个标识变量为0,如果是闰年 ...

  7. 很干(货)很干(货)的日期计算 - 日期间隔计算 -(月数、周数、天数)

    前言 项目中需要判断两个日期之间间隔的(月数.周数.天数.),所以在此分享一下 目录 一. 两个时间相差月数 二. 两个时间相差周数 三. 两个时间相差天数 四. 其他 正文 一. 两个时间相差月数 ...

  8. excel计算日期时间差,两个日期之间相差多少天?

    对于两个日期之间相差多少天,虽然在手机上有相关的软件,但是应该如何快速计算excel计算日期时间差呢?小编找到了两种方法,但是这两种方法都不算上第一天的天数的,所以需要从当天开始算起的话,就要加一了, ...

  9. 输入两个数、用python求他们的和_从键盘上输入俩个实型数,编程求它们的和差积商,要求输出时,保留两位小数C语言编程题:从键盘上输入两个...

    从键盘上输入俩个实型数,编程求它们的和差积商,要求输出时,保留两位小数 C语言编程题:从键盘上输入两个 www.zhiqu.org     时间: 2020-11-23 参考代码: #includev ...

  10. c语言求两个数的乘积和商,输入两个整数,求出它们的商数

    编写一个程序,输入两个整数,计算并输出它们的和,乘积,差,商和余数,C语言, #includevoidmain(){inta,b;printf("Inputtwointegers:" ...

最新文章

  1. Oracle Clustered Table
  2. javascript 手机号间隔显示 123 4567 8910
  3. python中bind的用法_JS中的apply、call和bind的用法和区别
  4. webpack的入口起点(EntryPoints)
  5. Linux学习之三——操作档案与目录
  6. MongoDB:有人敢像我一样说出开源的真实用意吗?
  7. 两个凸多边形的公共面积
  8. js深入研究之神奇的匿名函数类生成方式
  9. java多元一次方程组求解_java 怎么解多元一次不定方程组
  10. 大话数据结构PDF原文内容分享
  11. 消息队列——ActiveMQ使用及原理浅析
  12. redis雪崩、击穿、穿透
  13. 微信卡券---第一步:上传卡券图片素材
  14. php gethostbyname ipv6,支持IPV6方法
  15. 线性拟合(回归)的小结
  16. 【python】自动化测试浏览器不关闭
  17. IP协议详解之头部结构
  18. Knockout.js----使用计算属性(Computed Observable)
  19. 附下载 | 图解密评联委会《商用密码应用安全性评估FAQ(第二版)》
  20. python_爬虫 16 Scrapy框架之(二)快速入门

热门文章

  1. Macbook清理other
  2. ogv格式怎么转换为MP4格式
  3. 2022 年中回顾|一文看懂预训练模型最新进展
  4. 目录服务器的互联网标准协议,2014年4月自学考试《互联网及其应用》试题
  5. 一文带你了解Zookeeper基本概念、集群搭建、使用方法
  6. qq钱包php开发文档,QQ轻应用
  7. java框架要求合同_java毕业设计_springboot框架的合同管理
  8. 使用pano2vr创建全景图
  9. 怎么提取PDF页面,PDF页面提取的操作步骤
  10. 用P、V操作解决进程同步问题的解题步骤