用以下三个函数实现;
(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. }