当前位置:   article > 正文

【C语言编程基础】【日期】再算天数+_输入: 起始日期的年,月,日 终止日期的年,月,日 (假设终止日期大于起始日期) 输出:

输入: 起始日期的年,月,日 终止日期的年,月,日 (假设终止日期大于起始日期) 输出:

我们经常要计算天数(两个日期之间相差几天),例如要算算春节放假几天,清明节可以休息几天。

输入:
    起始日期的年,月,日
    终止日期的年,月,日   (假设终止日期大于起始日期)

输出:
   终止日期与起始日期之间的天数

  1. #include <stdio.h>
  2. int leap_year( int );
  3. int year_days( int );
  4. int days(int,int,int);
  5. int leap_year( int year ) // 判断闰年或平年
  6. { return ( (year%4==0 && year%100!=0) || year%400==0 ) ? 1 : 0;
  7. }
  8. int year_days(int year) // 计算一整年的天数
  9. { return leap_year( year ) ? 366 : 365;
  10. }
  11. int days( int year, int month, int day ) // 计算该天month,day 是本年year的第几天
  12. { int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}, i;
  13. if ( leap_year( year ) && month >2 )
  14. day++;
  15. for ( i=1; i<month; i++ )
  16. day += months[i];
  17. return day;
  18. }
  19. int main(){
  20. int y1,y2,m1,m2,d1,d2,c,y;
  21. scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2);
  22. for(y=y1;y<y2;y++)
  23. c+=year_days(y);
  24. c = c - days( y1, m1, d1 ) + days( y2, m2, d2 );
  25. printf("%d days\n",c);
  26. return 0;
  27. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/311189
推荐阅读
相关标签
  

闽ICP备14008679号