**
输入格式:
**
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
**
输出格式:
**
在一行输出日期是该年中的第几天。
此程序中比如1月23号实际上就开始了23天,并不会加上一月的天数,因为1月还没有结束,所以不需要加上1月的31天,这里是我一开始的误区,不过解决方法也很简单,在笔记本上用“笨办法”写出具体的计算步骤,就会发现问题所在,如2月23日实际则是1月的天数加上23,而并不是1月加上2月再加上23,所以在下面的for循环中输入的m实际要减1才可以,当然如上所述,12月的天数也就用不到了.
#include<stdio.h>
int main()
{
int i,y,d,m,n = 0;
int a[12] = {0,31,28,31,30,31,30,31,31,30,31,30};
scanf("%d/%d/%d",&y,&m,&d);
if ((y % 4 == 0&& y % 100 != 0) ||y % 400 == 0)
a[2] = 29;
for (i = 0;i <= m - 1;i++)
n += a[i];
printf("%d",n + d);
return 0;
}