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

用以下三个函数实现;

(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. }  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值