题目描述
你知道,2012-1-1是该年的第1天,而9999-9-9呢?给你一个具体的日期,计算该日期是该年的第几天。
输入
输入一个日期,格式为:Year-month-day。year是小于9999的正整数。
输出
一个整数,表示该日期是该年的第几天。
样例输入 Copy
2012-3-1
样例输出 Copy
61
源代码
#include<stdio.h>
int main()
{
int year,month,day,num=0;
scanf("%d-%d-%d",&year,&month,&day);
if((year%4==0&&year%100!=0)||(year%400==0))
{
while(month--)//使用循环进行switch结构匹配对纯月数天数累加
{
switch(month)
{
case 2:num=num+29;break;
case 4:
case 6:
case 9:
case 11:num=num+30;break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:num=num+31;break;
}
}
}
else
{
while(month--)
{
switch(month)//使用循环进行switch结构匹配对纯月数天数累加
{
case 2:num=num+28;break;
case 4:
case 6:
case 9:
case 11:num=num+30;break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:num=num+31;break;
}
}
}
printf("%d",num+day);//第几天=纯月数天+本月天数
return 0;
}