C语言:输入起始日期与截至日期,计算相距天数。

#include <stdio.h>
//输入两个日期,计算它们相隔的天数。
//判断是不是闰年
int year(int year) {if ((year % 4==0) && (year % 100!=0)|| year % 400 ==0)return 1;elsereturn 0;
}
//根据年份(润or平)输出月份有多少天
int month(int month,int year1) {int day = 0;if ((year(year1))==1) {   //为润年switch (month) {case(1):day = 31; break;case(2):day = 29; break;case(3):day = 31; break;case(5):day = 31; break;case(7):day = 31; break;case(8):day = 31; break;case(10):day = 31; break;case(12):day = 31; break;default: day = 30;}}else//为平年switch (month){case(1):day = 31; break;case(2):day = 28; break;case(3):day = 31; break;case(5):day = 31; break;case(7):day = 31; break;case(8):day = 31; break;case(10):day = 31; break;case(12):day = 31; break;default: day = 30;}return day;
}
int yearday(int j) {int dd = 0;int year = j;for (int i = 1; i <= 12; i++)dd += month(i,year);return dd;
}
int main() {int year1, month1, day1;int year2, month2, day2;//dy是年差,dm是月差,dd是天差int dy = 0, dm = 0, dd = 0;printf("起始日期:");scanf_s("%d/%d/%d", &year1, &month1, &day1);printf("截至日期:");scanf_s("%d/%d/%d", &year2, &month2, &day2);//起始日期为year1/month1/day1//截至日期为year2/month2/day2//如果两个日期在同一年if (year1 == year2) {//如果两个日期在同年同月if (month1 == month2) {dd = day2 - day1;}//如果两个日期是同两不同月else{   //第一步 计算month1没过完的天数,再加上month1与month2之间空白月的总天数。int year = year1;dm = month2 - month1;for (dm = dm - 1; dm > 0; dm--){//再注释:month( month,year)函数是返还对应天数dd += month(month1 + dm,year);}dd += ((month(month1,year) - day1));          //第二步 加上month2的day2dd += day2;}}//两日期不在同一年else{//计算year1与year2之间空白年之间的总天数dy = year2 - year1;for (dy = dy - 1; dy > 0; dy--){   int year = year1 + dy;for(int i=1;i<=12;i++)dd += month(i,year);}//计算year2有多少天int year = year2;for (int i = 1; i < month2; i++){dd += month(i,year);}dd += day2;//计算year1剩余多少天year = year1;//dd1是year1过了几天int dd1 = 0;for (int i = 1; i < month1; i++){dd1 += month(i,year);}dd1 += day1;//将year1剩余的天数加入dddd += (yearday(year1) - dd1);}printf("间距%d天", dd);
}

C语言:输入起始日期与截至日期,计算相距天数。相关推荐

  1. python中日期格式转换,计算单位天数时间差

    一.字符串转别的时间格式 datetime的模块(包)中,集成了3个主要的类型: datatime类型: 日期和时间 date类型: 日期 time类型: 时间 import datetime sta ...

  2. c#求长方形的面积周长公式_C#语言-输入三角形或者长方形边长,计算其周长和面积并输出...

    /* 编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出. */ using System; using System.Collections.Generic; using Sy ...

  3. c语言缩写一个人的名字,用C语言输入一个人的英文名字统计个数输出

    用C语言编写判断输入的某个数m是否为素数 //判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是不是素数!#include#includemain(){i ...

  4. R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间

    R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间.将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间(duration of an act ...

  5. R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间、适应时间段跨越多天的情况

    R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间.将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间.适应时间段跨越多天的情况(例如,当天 ...

  6. 输入起始日期,截止日期,查询天数

    解题思路:不需要什么思路,就是算天数,关键把握好几个小点. 闰年问题 相同年份处理,不同年份处理 起始年份当月剩余天数,截止年份所含天数 #include<stdio.h>#define ...

  7. C语言输入一个日期,计算这一天是周几

    问题描述:输入一个日期,计算这一天是周几,假设年份和月份的天数是一定的,分别是360天和30天,并且已知一个日期. 首先,要解决一个问题,你要知道真正需要求的是什么. 对于这个题,我们要解决的是已知日 ...

  8. 输入起始时间,第几周,周几,自动计算出日期

    业务场景:课程表周次转日期 如,2018年9-1日开学,则9-1日所在的周为第一周(2018年第35周) 通过课程表中第一周,周几获取相应的日期 第二周,周几获取相应的日期,此时的第二周则为,9-1所 ...

  9. c#日期转换周几_C#获取每个年,月,周的起始日期和结束日期的方法

    这篇文章主要介绍了C#获取每个年,月,周的起始日期和结束日期的方法,涉及C#时间与日期基本操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#获取每个年,月,周的起始日期和结束日期 ...

最新文章

  1. leetcode 897. 递增顺序搜索树(中序遍历)
  2. 如何成为云计算专家?这些必须知道
  3. Andrew Ng机器学习公开课笔记 -- Logistic Regression
  4. Leetcode每日一题:107.binary-tree-level-order-traversal-ii(二叉树的层次遍历)
  5. python 系统策略禁止这个安装_电脑无法安装软件提示设置了系统策略禁止此项安装怎么办?...
  6. windows传文件到linux
  7. Julia: rand
  8. Ubuntu下libmodbus的应用
  9. Vue Router 重定向和别名
  10. RationalDMIS 2020 编程技巧
  11. win10的WLAN/Wifi不见了、网络适配器黄色感叹号、网络中心的更改适配器选项没有连接
  12. 怎么样在应用中实现自助报表功能
  13. 【产品】产品设计:美工线的设计
  14. mysql中vlookup函数_Vlookup + MySql 数据高效迁移
  15. 除了茶颜悦色、文和友?长沙打造旅游城市缺什么?
  16. 谷露Gllue联合领英LinkedIn,发布猎头行业中高端招聘大数据观察
  17. 5款提高办公效率的好软件,最后一个绝了
  18. android极光推送】—从客户端到后台,一文通吃
  19. javascript:void(0)用法及常见问题解析
  20. 【产品推荐】河道水质监测站——水质监测平台

热门文章

  1. 腾讯Oceanus实时计算平台架构设计
  2. 微软对联服务器关闭了吗,不只对联,现在微软还能自动生成绝句
  3. 你才二十四岁,为何面容憔悴?
  4. Linux学习笔记之软件安装
  5. JSP中获取项目根目录
  6. IIC详解以及SH367309-TWI示例应用
  7. 第四章 权限提升分析及防御
  8. 欧盟委员会开源计划办公室启动漏洞赏金
  9. 马斯克又调皮了:声称删除Twitter账号却依旧活跃
  10. 算法复习——动态规划篇之最长公共子序列问题