猿问

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

#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;
}


qq_慕标9233296
浏览 915回答 2
2回答
随时随地看视频慕课网APP
我要回答