输入年、月、日,求该天是当年的第几天

来源:互联网 发布:java工程师是什么 编辑:程序博客网 时间:2024/04/28 06:26

用以下三个函数实现;

(1) IsLeapYear()                  --- 输入一个数,判断是否为闰年,是返回1,否则返回0

(2) SummaryDays()             --- 输入月、日,求该天是第几天

(3) SummaryDaysOfYear()   --- 输入年、月、日,求该天是当年的第几天

   1. /*******************************************************************************************    2. ** 函数名称:  IsLeapYear()                                            3. ** 作    者:  张月华                                 4. ** 版    本:  1.0.0                                                  5. ** 日    期:  2011-6-16                                         6. ** 功能描述:  输入一个数,判断是否为闰年,是返回1,否则返回0    7. ** 被本函数调用的函数清单:     8. ** 调用本函数的函数清单:  1. SummaryDaysOfYear()                9. ** 被访问的表:  无                                      10. ** 被修改的表 : 无                               11. ** 输       入: int year --- 输入年数   12. ** 输       出: 无                                                          13. ** 返  回   值: 1 -- 闰年   14.                 0 -- 非闰年                                                       15. ** 其       他:     16.                 判断闰年:(1)能被4整除,但是不能被100整除,或者:   17.                           (2)能被100整除,也能被400整除   18.                                                    19. ** 修改历史:                                             20.                                                                 21.         1. 修改时间:   22.            修 改 者:   23.            版    本:   24.            修改简述:   25.         2. ......   26. *********************************************************************************************/    27.     28. int IsLeapYear(int year)    29. {    30.     int is_leap;  /* 闰年的标志位 */    31.     32.     if ((year % 4 == 0 && year % 100 != 0) || ( year % 100 ==0 && year % 400 ==0) )    33.     {    34.         is_leap = 1;    35.     }    36.     else    37.         is_leap = 0;    38.     39.     return is_leap;    40. }  


   1. /*******************************************************************************************    2. ** 函数名称:  SummaryDays()                                            3. ** 作    者:  张月华                                 4. ** 版    本:  1.0.0                                                  5. ** 日    期:  2011-6-16                                         6. ** 功能描述:  输入月、日,求该天是第几天    7. ** 被本函数调用的函数清单:     8. ** 调用本函数的函数清单:  1. SummaryDaysOfYear()                9. ** 被访问的表:  无                                      10. ** 被修改的表 : 无                               11. ** 输       入: int month --- 输入月    12.                 int day  ---  输入日   13. ** 输       出: 无                                                          14. ** 返  回   值: 天数                                                      15. ** 其       他:                                      16. ** 修改历史:                                             17.                                                                 18.         1. 修改时间:   19.            修 改 者:   20.            版    本:   21.            修改简述:   22.         2. ......   23. *********************************************************************************************/    24.     25. int SummaryDays(int month, int day)     /* 由月、日计算天数 */    26. {    27.     int day_table[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};    28.     29.     int liv_i;   /* 求天数,循环控制变量 */    30.     31.     for (liv_i = 1; liv_i < month; liv_i++)    32.     {    33.         day = day + day_table[liv_i];    34.     }    35.     36.     return day;    37.     38. }  

   1. /*******************************************************************************************    2. ** 函数名称:  SummaryDaysOfYear()                                            3. ** 作    者:  张月华                                 4. ** 版    本:  1.0.0                                                  5. ** 日    期:  2011-6-16                                         6. ** 功能描述:  输入年、月、日,求该天是当年的第几天    7. ** 被本函数调用的函数清单:     8. ** 调用本函数的函数清单:                 9. ** 被访问的表:  无                                      10. ** 被修改的表 : 无                               11. ** 输       入: int year  --- 输入年   12.                 int month --- 输入月    13.                 int day  ---  输入日   14. ** 输       出: 无                                                          15. ** 返  回   值: 天数                                                      16. ** 其       他:                                      17. ** 修改历史:                                             18.                                                                 19.         1. 修改时间:   20.            修 改 者:   21.            版    本:   22.            修改简述:   23.         2. ......   24. *********************************************************************************************/    25.     26. int SummaryDaysOfYear(int year, int month, int day)    27. {    28.    int days = 0;    29.     30.     days = SummaryDays(month,day);  /* 由月、日计算天数 */    31.     32.    if ( IsLeapYear(year) )    /* 判断是否为闰年 */    33.    {    34.      days = days + 1;    35.    }      36.     37.    return days;    38.     39. }  

原创粉丝点击