杭电 给定一个日期,输出这个日期是该年的第几天.

2025-03-10 21:33:05
推荐回答(2个)
回答1:

首先怎么判断是闰年(if(year%400==0 || year%100!=0 && year%4==0))
另外暂时还没看出来,下面是我的ac吗,参考用的
#include
int main()
{
int year,month,day,sum;
while((scanf("%d/%d/%d",&year,&month,&day))!=EOF)
{
sum=0;
switch(month)
{
case 12:sum+=30;
case 11:sum+=31;
case 10:sum+=30;
case 9:sum+=31;
case 8:sum+=31;
case 7:sum+=30;
case 6:sum+=31;
case 5:sum+=30;
case 4:sum+=31;
case 3:if((year%4==0)&&((year%100)!=0)||(year%400==0))
sum+=29;
else
sum+=28;
case 2:sum+=31;
case 1:sum+=day;
}
printf("%d\n",sum);
}
}

回答2:

从1月1号开始前进,到指定日期结束- -(傻叉算法,但绝对不超时