/*
Date: 07/03/19 21:10
Description: 主要是闰年的判断和2月份的天数的处理
*/
#include<stdio.h>
int sumday(int month,int day);
int leap(int year);
int main(void)
{
int day,month,year,days;
printf("Please input date:
");
printf("year-month-day
");
scanf("%d-%d-%d",&year,&month,&day);
days=sumday(month,day);
if(leap(year)&&month>=3)//是闰年,且超过三月
days=days+1;
printf("%d-%d-%d is the %dth day in this year.
",year,month,day,days);
return 0;
}
int leap(int year)
{
int leap=0;
if(year%4==0&&year/100!=0||year%400==0)
leap=1;//是闰年返回1
return leap;
}
int sumday(int month,int day)
{
int day_table[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1;i<month;i++)
day+=day_table[i];
return day;
}
运行结果: