⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2005.c

📁 杭电的ACM上的一些题目。 1108、2001、2002、2003、2004、2005、2010、2026、2039、2091、2153、2154、2156、2160
💻 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 + -