Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
思路,日期用日加之前一共有的月份总日期表示,比如3月12日就用前两个月的总日期加上12。然后注意年份,闰年的判断,再有就是用数组和for循环来实现通过输入月份来算出前两个月的总日期
代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d=0,i=0;
int date[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int datee[12]={31,28,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d/%d/%d",&a,&b,&c))
{
if((a%4==0&&a%100!=0)||a%400==0)
{
for(i=0;i<b-1;i++)
{
d=d+date[i];
}
d=d+c;
}
else
{
for(i=0;i<b-1;i++)
{
d=d+datee[i];
}
d=d+c;
}
printf("%d
",d);
d=0;
}
return 0;
}