编写函数day_of_year(month, day, year),使得函数返回由这三个参数确定的那一天是一年中的第几天(1和366之间的整数)。
测试程序为:
#include <stdio.h>
int day_of_year(int month, int day, int year);
int main()
{
int m, d, y;
while (scanf("%d %d %d", &m, &d, &y) != EOF)
{
printf("%d\n", day_of_year(m, d, y));
}
return 0;
}
/* 你的代码将被嵌在这里 */
Input Description
多组输入数据,每组一行,为三个整数m, d, y,分别表示month, day, year,以空格分隔。题目保证输入数据的有效性。
Output Description
对每组输入数据,在一行中输出所求的结果。
Sample Input
3 1 2000
Sample Output
61
int day_of_year(int month, int day, int year)
{
int a[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
int i, j;
i = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
for(int j = 0; j < month - 1; j++)
{
day = day + a[i][j];
}
return day;
}