//<出自小甲鱼老师课程>
/*输入某年某月某天,判断这是这一年的第几天?
分析:1.随便举例一下,5月5日,应该把前4个月的天数加起来,然后再加上5天,就是这一年的第几天。
2.但是!!!要考虑闰年的问题(众所周知,闰年2月多一天),闰年且大于2月时,需要加上一天。
3. 1、3、5、7、8、10、12月31天;2月28/29天;4、6、9、11月30天*/
#include<stdio.h>
void main()
{
int year,month,day,leap,sum;
printf("Please imput a date: ");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) //先是不考虑闰年的情况下
{
case1: sum=0;
break; //输入的是1月时,sum=0+day
case2: sum=31;
break;
case3: sum=59;
break;
case4: sum=90;
break;
case5: sum=120;
break;
case6: sum=151;
break;
case7: sum=181;
break;
case8: sum=212;
break;
case9: sum=243;
break;
case10: sum=273;
break;
case11: sum=304;
break;
case12: sum=334;
break;
default:printf("input error\n");
}
if(year%4==0&&year%100!=0||year%400==0) //判断是否闰年
leap=1;
else
leap=0;
if(leap==1&&month>2) //判断是闰年且大于2月需要加上一天
sum++;
sum=sum+day;
printf("%d\n",sum);
}