11號花店


私信TA

用户名:uq_37565857925

访问量:11

签 名:

等  级
排  名 27684
经  验 449
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

c语言 日期差
浏览:5

解题思路:
二维数组+函数
注意事项:

参考代码:

//计算两个日期之间的天数

#include <stdio.h>

int date(int n,int y,int r);

int run(int n);

int main()

{

int n1,y1,r1,n2,y2,r2,sum=0;

//printf("请输入两个日期:\n");

scanf("%d%d%d",&n1,&y1,&r1);

scanf("%d%d%d",&n2,&y2,&r2);

if(run(n1)==1)

sum+=366-date(n1,y1,r1);

else

sum+=365-date(n1,y1,r1);


for(int i=n1+1;i<n2;i++)

{

if(run(i)==1)

sum+=366;

else

sum+=365;

}


sum+=date(n2,y2,r2);


printf("%d",sum);

return 0;

 }

int run(int n)

{

int t=0;

if(n%400==0||(n%100!=0&&n%4==0))

t=1;

return t;

}

int date(int n,int y,int r)

{

int sum=0;

int a[2][12]={31,28,31,30,31,30,31,31,30,31,30,31,//平年 

      31,29,31,30,31,30,31,31,30,31,30,31 //闰年 

     };

for(int i=0;i<y-1;i++)

sum+=a[run(n)][i];

sum+=r;

return sum;

}


 

0.0分

0 人评分

  评论区