#include<stdio.h>
int judge(int year) //判断是否为闰年
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) return 1;
}
int main(void)
{
int M1, M2, D1, D2;
int days = 0;
int month[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
scanf("%d-%d/%d-%d/%d",&year, &M1, &D1, &M2, &D2);
if (judge(year) == 1) month[2] = 29; //闰年2月有29天
if (M2 - M1 == 0) days = D2 - D1;
else if (M2 - M1 == 1) days = month[M1] - D1 + D2;
else
{
for (int i = 1; i < 13; i++)
{
if (i > M1 && i < M2) days += month[i];
}
days += month[M1] - D1 + D2;
}
printf("%d",days+1);
}
【C】计算两个日期之间有几天(DateToDays)
于 2023-11-14 08:45:49 首次发布