C语言:输入起始日期与截至日期,计算相距天数。
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语言:输入起始日期与截至日期,计算相距天数。相关推荐
- python中日期格式转换,计算单位天数时间差
一.字符串转别的时间格式 datetime的模块(包)中,集成了3个主要的类型: datatime类型: 日期和时间 date类型: 日期 time类型: 时间 import datetime sta ...
- c#求长方形的面积周长公式_C#语言-输入三角形或者长方形边长,计算其周长和面积并输出...
/* 编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出. */ using System; using System.Collections.Generic; using Sy ...
- c语言缩写一个人的名字,用C语言输入一个人的英文名字统计个数输出
用C语言编写判断输入的某个数m是否为素数 //判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是不是素数!#include#includemain(){i ...
- R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间
R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间.将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间(duration of an act ...
- R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间、将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间、适应时间段跨越多天的情况
R语言ggplot2可视化:可视化所有日期不同时段任务的持续时间.将持续时间绘制成一条线(起始时间到结束时间),y轴表示活动发生的日期,x轴表示以小时为单位的时间.适应时间段跨越多天的情况(例如,当天 ...
- 输入起始日期,截止日期,查询天数
解题思路:不需要什么思路,就是算天数,关键把握好几个小点. 闰年问题 相同年份处理,不同年份处理 起始年份当月剩余天数,截止年份所含天数 #include<stdio.h>#define ...
- C语言输入一个日期,计算这一天是周几
问题描述:输入一个日期,计算这一天是周几,假设年份和月份的天数是一定的,分别是360天和30天,并且已知一个日期. 首先,要解决一个问题,你要知道真正需要求的是什么. 对于这个题,我们要解决的是已知日 ...
- 输入起始时间,第几周,周几,自动计算出日期
业务场景:课程表周次转日期 如,2018年9-1日开学,则9-1日所在的周为第一周(2018年第35周) 通过课程表中第一周,周几获取相应的日期 第二周,周几获取相应的日期,此时的第二周则为,9-1所 ...
- c#日期转换周几_C#获取每个年,月,周的起始日期和结束日期的方法
这篇文章主要介绍了C#获取每个年,月,周的起始日期和结束日期的方法,涉及C#时间与日期基本操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#获取每个年,月,周的起始日期和结束日期 ...
最新文章
- leetcode 897. 递增顺序搜索树(中序遍历)
- 如何成为云计算专家?这些必须知道
- Andrew Ng机器学习公开课笔记 -- Logistic Regression
- Leetcode每日一题:107.binary-tree-level-order-traversal-ii(二叉树的层次遍历)
- python 系统策略禁止这个安装_电脑无法安装软件提示设置了系统策略禁止此项安装怎么办?...
- windows传文件到linux
- Julia: rand
- Ubuntu下libmodbus的应用
- Vue Router 重定向和别名
- RationalDMIS 2020 编程技巧
- win10的WLAN/Wifi不见了、网络适配器黄色感叹号、网络中心的更改适配器选项没有连接
- 怎么样在应用中实现自助报表功能
- 【产品】产品设计:美工线的设计
- mysql中vlookup函数_Vlookup + MySql 数据高效迁移
- 除了茶颜悦色、文和友?长沙打造旅游城市缺什么?
- 谷露Gllue联合领英LinkedIn,发布猎头行业中高端招聘大数据观察
- 5款提高办公效率的好软件,最后一个绝了
- android极光推送】—从客户端到后台,一文通吃
- javascript:void(0)用法及常见问题解析
- 【产品推荐】河道水质监测站——水质监测平台