题目描述
定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。
输入
年月日
输出
当年第几天
样例输入
2000 12 31
样例输出
366
#include <stdio.h>
int leap_year_f(int y);
int month_f(int a);
struct Date
{
int year;
int month;
int day;
};
int main()
{
struct Date date;
scanf("%d%d%d",&date.year,&date.month,&date.day);
if(leap_year_f(date.year)==1)
{
if(date.month>2)
{
printf("%d",month_f(date.month)+date.day+1);
}
else
{
printf("%d",month_f(date.month)+date.day);
}
}
else
{
printf("%d",month_f(date.month)+date.day);
}
}
int leap_year_f(int y)//判断闰年
{
if(y%4==0)
{
if(y%100==0)
{
if(y%400==0)
{
return 1;
}
else
{
return 0;
}
}
else
{
return 1;
}
}
else
{
return 0;
}
}
int month_f(int a)//把月数转化为天数
{
switch(a)
{
case 1:return 0;break;
case 2:return 30;break;
case 3:return 58;break;
case 4:return 89;break;
case 5:return 119;break;
case 6:return 150;break;
case 7:return 180;break;
case 8:return 211;break;
case 9:return 242;break;
case 10:return 272;break;
case 11:return 303;break;
case 12:return 334;break;
}
}