问题描述:
给定一个日期,判断这个日期是该年的第几天。
输入:
输入数据有多组,每组占一行,数据格式为YYYY.MM.DD组成。
样例输入:
1985.1.20
2006.3.12
样例输出:
20
71
代码:
#include<stdio.h>
int main()
{
int x,y,z;
while(scanf("%d.%d.%d",&x,&y,&z)!=EOF)
{
if((x%4==0&&x%100!=0)||x%400==0)
{
if(y==1)printf("%d\n",z);
else if(y==2)printf("%d\n",31+z);
else if(y==3)printf("%d\n",60+z);
else if(y==4)printf("%d\n",91+z);
else if(y==5)printf("%d\n",121+z);
else if(y==6)printf("%d\n",152+z);
else if(y==7)printf("%d\n",182+z);
else if(y==8)printf("%d\n",213+z);
else if(y==9)printf("%d\n",244+z);
else if(y==10)printf("%d\n",274+z);
else if(y==11)printf("%d\n",305+z);
else if(y==12)printf("%d\n",335+z);
}
else
{
if(y==1)printf("%d\n",z);
else if(y==2)printf("%d\n",31+z);
else if(y==3)printf("%d\n",59+z);
else if(y==4)printf("%d\n",90+z);
else if(y==5)printf("%d\n",120+z);
else if(y==6)printf("%d\n",151+z);
else if(y==7)printf("%d\n",181+z);
else if(y==8)printf("%d\n",212+z);
else if(y==9)printf("%d\n",243+z);
else if(y==10)printf("%d\n",273+z);
else if(y==11)printf("%d\n",304+z);
else if(y==12)printf("%d\n",334+z);
}
}
return 0;
}
注意:
判断是否为闰年。