为了账号安全,请及时绑定邮箱和手机立即绑定

不知道代码的意思,请大神讲解,详细一点更好

不知道代码的意思,请大神讲解,详细一点更好

C++ C# C
qq_慕标9233296 2018-12-26 15:06:49
#include "stdio.h"#include "math.h"#include "stdlib.h"#include "stdalign.h"int year(int a){    if((a%4==0&&a%100!=0)||(a%400==0))    {        return 0;    }    else    {        return 1;    }}main(){    int i,j,n,o,k,h=365,m,p,l=0,c=0,w=0,s=0;    int month_0[12]={31,29,31,30,31,30,31,31,30,31,30,31};    int month_1[12]={31,28,31,30,31,30,31,31,30,31,30,31};    int A,B,C,D,E,F,G,H;    printf("请输入起始日期(例如2000.1.1):");    scanf("%d.%d.%d",&i,&j,&n);    printf("请输入终止日期(例如2001.1.1):");    scanf("%d.%d.%d",&o,&k,&m);    A=366-(c+n);    B=365-(c+n);    C=l+m;    D=l+m;    F=i+1;    G=366-(c+n)+l+m;    H=365-(c+n)+l+m;    if(o==i)    {        if(year(i)==0)    {        for(p=0;p<j-1;p++)        {            c=c+month_0[p];        }        for(p=0;p<k-1;p++)        {            l=l+month_0[p];        }    }    if(year(i)==1)    {        for(p=0;p<j-1;p++)        {            c=c+month_1[p];        }        for(p=0;p<k-1;p++)        {            l=l+month_1[p];        }    }    printf("起始日到终止日共:%d天  ",(l+m)-(c+n));    }    else    {        if(year(i)==0)    {        B=0;        D=0;        for(p=0;p<j-1;p++)        {            c=c+month_0[p];        }        for(p=0;p<k-1;p++)        {            l=l+month_0[p];        }    }    if(year(i)==1)    {        A=0;        C=0;        for(p=0;p<j-1;p++)        {            c=c+month_1[p];        }        for(p=0;p<k-1;p++)        {            l=l+month_1[p];        }    }    if(o!=F)    {        for(;o>F;F++)    {        if(((F%4==0)&&(F%100!=0))||(F%400==0))        {            w++;        }        else            s++;        E=(w+s)*h+w;    }    }    else        E=0;    if(A==0)    {        printf("起始日到终止日共:%d天 ",365-(c+n)+l+m+E);    }    else        printf("起始日到终止日共:%d天 ",366-(c+n)+l+m+E);    }    return 0;}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 914 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信