求两日期之间的相隔天数(year,month,day) C语言代码
发布时间:2020-12-16 07:47:06 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #includecstdio int isRunNian(int year); int DiJiTian(int year,int month,int day); void swap(int *a,int *b); int main() { int year1,month1,da
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #include<cstdio> int isRunNian(int year); int DiJiTian(int year,int month,int day); void swap(int *a,int *b); int main() { int year1,month1,day1; int year2,month2,day2; int sum=0; scanf("%d%d%d",&year1,&month1,&day1); scanf("%d%d%d",&year2,&month2,&day2); if(year1==year2) { sum = DiJiTian(year1,day1) - DiJiTian(year2,day2); if(sum<0) sum=-sum; } else { if(year1 > year2) { swap(&year1,&year2); swap(&month1,&month2); swap(&day1,&day2); } int a,b,c; if(isRunNian(year1)) a=366-DiJiTian(year1,day1); else a=365-DiJiTian(year1,day1); b=0; int i; for(i=year1+1;i<year2;i++) { if(isRunNian(i)) b+=366; else b+=365; } c=DiJiTian(year2,day2); sum=a+b+c; } printf("%dn",sum); return 0; } /*判断闰年的函数*/ int isRunNian(int year) { if(year%400==0||(year%4==0&&year%100!=0)) return 1; else return 0; } /*判断这一天是这一年的第几天函数*/ int DiJiTian(int year,int day) { int i,sum=0; for(i=1;i<month;i++)//step1 { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) sum+=31; else if(i==4||i==6||i==9||i==11) sum+=30; else if(i==2) { if(isRunNian(year)) sum+=29; else sum+=28; } } sum+=day;//step2 return sum;//step3 } /* 交换两个变量的值的函数 */ void swap(int *a,int *b) { int c; c=*a; *a=*b; *b=c; } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |