https://acm.hdu.edu.cn/showproblem.php?pid=2005
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int Leap_year(int y)
{
if((y%4==0 && y%100!=0) || (y%400==0))
return 1;
return 0;
}
int main()
{
int mon[] = {31,29,31,30,31,30,31,31,30,31,30,31,30,31};
int year = 0;
int month = 0;
int days = 0;
int i = 0;
while(scanf("%d/%d/%d", &year, &month, &days) != EOF)
{
for(i=1; i<month; i++)
days += mon[i-1];
if(0 == Leap_year(year) && month>2)
--days;
printf("%d\n", days);
}
return 0;
}
注意点:
- 月份至少是二月份才要加,一月份只要看天数即可
- 闰年与平年的区别在于二月份,所以至少要三月份才会差一天
- 月份与下标不匹配,要减一