Friday the Thirteenth

/*
ID:hejiek1
LANG: C
TASK:friday
*/
#include
#include

int isleap(int year)
{
    if(year%400==0||(year%4==0)&&year%100!=0&&!year%400==0)
        return 1;
    return 0;
}

int days(int year,int month,int day)
{
    int n=0,i;
    int mon[12];
    mon[0]=mon[2]=mon[4]=mon[6]=mon[7]=mon[9]=mon[11]=31;
    mon[3]=mon[5]=mon[8]=mon[10]=30;
    if(isleap(year))
        mon[1]=29;
    else
        mon[1]=28;
    if(day>mon[month-1]||day<1||month<1||month>12)
    {
        printf("error!");
        return 0;
    }
    for(i=0;i        n+=mon[i];
    n=n+day;
    return n;
}
int ndaysweek(int year,int month,int day)
{
    long i,n;
    n=days(year,month,day);
    for(i=year-1;i>=1900;i--)
    n+=days(i,12,31);
    return n%7;
}
void input(int* n)
{
    FILE *fp=fopen("friday.in","r");
    fscanf(fp,"%d",n);
}
void output(const int *a)
{

    int i;
    FILE *fp=fopen("friday.out","w");
    for(i=0;i<6;i++)
    fprintf(fp,"%d ",a[i]);
    fprintf(fp,"%dn",a[6]);

}
int main (int argc, char const* argv[]) {
    int a[7],i,j,k,n=0;
    memset(a,0,sizeof(a));
    input(&n);
    for(j=1;j<13;j++)
        for(i=0;i        {
            k=ndaysweek(1900+i,j,13);
            if(k==6)a[0]++;
            if(k==0)a[1]++;
            if(k==1)a[2]++;
            if(k==2)a[3]++;
            if(k==3)a[4]++;
            if(k==4)a[5]++;
            if(k==5)a[6]++;
        }
    output(a);
    return 0;
}</div>