📄 2005.c
字号:
/**************************************************************************
Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
/**************************************************************************/
#include <stdio.h>
/*函数声明*/
int Day_Year(int year, int month, int day);
/**/
int main(void)
{
int year, month, day;
while(scanf("%d/%d/%d", &year, &month, &day)!=EOF)
{
printf("%d\n",Day_Year(year, month, day));
}
return 0;
}
/**************************************************************************/
/*某天是一年中的第几天 */
/**************************************************************************/
int Day_Year(int year, int month, int day)
{
int tab[12] =
{
0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334
};
int leap;
/*闰年判断*/
leap = ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
return tab[month - 1] + day + (month > 2 ? leap : 0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -