#include <stdio.h>

int leapChk(int y);
int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
char *week[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

int wd(int y, int m, int d)
{
    int td = 5;
    for (int i = 2000; i <= y; i++)
    { 
        if (y != i)
        {
            if (leapChk(i))
                td += 366;
            else
                td += 365;
        }
        else
        {
            for (int j = 1; j < m; j++)
            {
                td += month[j];
            }
        }
    }

    td += d;

    return td % 7;
}

int main()
{
    int y, m, d,j, n, fd;
    int leapyear = 0;
    int cnt;

    scanf("%d %d %d", &y, &m, &d);

    leapyear = leapChk(y);
    if (leapyear == 1)
        month[2] = 29;
    else
        month[2] = 28;
    if (y < 2000 || y > 2010 || m < 1 || m > 12 || d < 1 || d > month[m])
    {
        printf("INPUT ERROR!\n");
        
    }else {
        
    n = wd(y,m,d);
    fd = wd(y,m,1);
        
    printf("%d. %d\n", y, m);
    printf("sun mon tue wed thu fri sat\n");
    for(int i=0; i<fd; i++){
        printf("    ");
    }
    for(int i=1; i<=month[m]; i++){
        cnt = fd%7;
        printf("%3d",i);
        if(cnt != 6) printf(" ");
        else printf("\n");
        fd++;
    }
    

    printf("\n%s", week[n]);
    return 0;
    }

}

int leapChk(int y)
{
    int leapyear = 0;

    if (y % 400 == 0)
        leapyear = 1;
    else if (y % 4 == 0 && y % 100 != 0)
        leapyear = 1;

    return leapyear;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: