思路
1.两个日期在同一年
不管情况如何,只需要将两个日期在当年过完的天数进行做差后取绝对值即可取到两个日期的相差天数
2.两个日期不在同一年
当日期一的年份大于日期二的年份时,先将两个日期的年月日进行互换再进行计算,反之则直接计算
第一部分天数:计算日期一在一年中经历了几天
第二部分天数:计算日期一与日期二之间包含了几个完整年
第三部分天数:计算日期二在一年中经历了几天
将三部分天数相加即可取到两个日期的相差天数
代码
#include <stdio.h>
int main()
{
int s_year, s_month, s_day, s_sum = 0;
static int days = 0;
static int day = 0;
int e_year, e_month, e_day, e_sum = 0;
static int leap = 0;
int tmp, tmp1, tmp2;
printf("输入起始时间,格式为:年,月,日(xxxx,xx,xx)\n");
scanf_s("%d,%d,%d", &s_year, &s_month, &s_day);
printf("输入结束时间,格式为:年,月,日(xxxx,xx,xx)\n");
scanf_s("%d,%d,%d", &e_year, &e_month, &e_day);
if (s_year > e_year) //判断哪个年份大,如果起始时间大于结束时间,则互换值
{
tmp = s_