【日期】再算天数

【日期】再算天数

我们再来计算天数(两个日期之间相差几天)。

本次编程与过去的程序不一样,我们已经给出了一些子函数,请你将这些函数用起来,然后编写主函数来完成所需要的功能。

输入:

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

输出:

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

PS:

注意:不用提交完整程序,只需要提交你自己编写的主函数即可。

样例:

序号测试输入期待的输出额外进程
12 3↵
5↵
4↵
7↵
8↵
4↵
a↵0
2Z↵z↵0
3b↵B↵0
4y↵Y↵0
5#↵#↵0

预设代码

/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */  
 
#include <stdio.h>  
  
// 声明函数原型  
int leap_year( int );     
int year_days( int );     
int days(int,int,int);    
  
int leap_year( int year )   // 判断闰年或平年  
{   return ( (year%4==0 && year%100!=0) || year%400==0 ) ? 1 : 0;  
}  
  
int year_days(int year)     // 计算一整年的天数  
{   return leap_year( year ) ? 366 : 365;  
}  
  
int days( int year, int month, int day ) // 计算该天month,day 是本年year的第几天  
{   int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}, i;  
      
    if  ( leap_year( year ) && month >2 )  
        day++;  
      
    for ( i=1; i<month; i++ )  
        day += months[i];  
  
    return day;  
}  
/*********************************** 
int main() 
{ 
  This function is waiting for you. 
 
  return 0; 
}  
 ***********************************/  
  
/* PRESET CODE END - NEVER TOUCH CODE ABOVE */  

思路

思路可以说和【日期】根据日期求星期完全一致,只不过要用预设好的代码而已

代码

int main(){  
    int y1,y2,m1,m2,d1,d2,c,y;  
    scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2);  
    for(y=y1;y<y2;y++)  
        c+=year_days(y);  
    c = c - days( y1, m1, d1 ) + days( y2, m2, d2 );  
    printf("%d days\n",c);  
    return 0;  
}  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值