思路
分析
日期1:起始日期
日期2:最终日期
-
两个日期在同一年
1)日期2天数-日期1天数 -
不在同一年
1)计算间隔几年
2)这些间隔年份中是否有闰年
3)间隔年份天数+日期2天数-日期1天数
流程图
代码
#include<stdio.h>
int mdays[12] = {
31,28,31,30,31,30,31,31,30,31,30,31};
int sumdays(int year,int month,int day){
int days = 0,leap = 0;
if( (year%4==0 && year%100!=0) || year%400==0 )
{
leap = 1;
}
switch(month)
{
case 1:
days = day;
break;
case 2:
days += 31 + day;
break;
case 3:
days += 31 + (leap?29:28) + day;
break;
case 4:
days += 31 + (leap?29:28) + 31 + day;
break;
case