2005 第几天?

Problem Description
  给定一个日期,输出这个日期是该年的第几天。
Input
  输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
  对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
  1985/1/20
2006/3/12

Sample Output


20
71


很基础的算日期的题,但是我还是活生生的因为数组没有把a[2][0]初始为0又wa了一遍,TAT。

代码:

#include<stdio.h>
int run(int year)
{
	return ((year%4==0 && year%100!=0)||year%400==0);
 } 
int main()
{
	int a[2][13]={
	{0,31,28,31,30,31,30,31,31,30,31,30,31},
	{0,31,29,31,30,31,30,31,31,30,31,30,31}};
	int year,day,month,k,c;
	while(scanf("%d/%d/%d",&year,&month,&day)!=EOF)
	{
		k = run(year);
		c = 0;
		for(c = 1;c < month ;c ++)
		{
			day =day + a[k][c];
			
		}
			
		printf("%d\n",day);
	}
	return 0;
}