7_08.c

来自「浙大颜晖视频课件」· C语言 代码 · 共 35 行

C
35
字号
/*【例7-8】自定义1个函数day_of_year(year, month, day),计算并返回year(年)、month(月)和day(日)对应的是该年的第几天。*/

#include <stdio.h>
int day_of_year(int year, int month, int day);
int main(void)
{
    int year, month, day;
	
    printf("Input year, month, day:");
    scanf("%d%d%d", &year,&month, &day);
    printf("day=%d\n", day_of_year(year, month, day));


    return 0;     
}

/* 计算某个日期对应该年的第几天 */
int day_of_year(int year, int month, int day)
{
    int k, leap;
    int tab[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} 
    };

    /* 判断year是否为闰年,当year是闰年时,leap=1;当year是非闰年时,leap=0 */
    leap = (year % 4 == 0 && year%100!=0 || year%400==0); 

    /* 计算天数 */
    for(k = 1; k < month; k++)
       day = day + tab[leap][k];

    return day; 
}    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?