怎么自己写一个获取星期的函数能够根据控制台输入的年月日,调用自己写的函数,输出年月日是星期几,不能使用time.h等等,只能用自己写的函数

能够根据控制台输入的年月日,调用自己写的函数,输出年月日是星期几,不能使用time.h等等,只能用自己写的函数

你可以参考一下,希望采纳

#include <stdio.h>
#include <math.h>

int week(int year, int month, int day)
{
    int w, c, y;

    if (month == 1)
    {
        month = 13;
        year = year - 1;
    }

    if (month == 2)
    {
        month = 14;
        year = year - 1;
    }

    y = year % 100;
    c = (year / 1000) * 10 + (year / 100 % 10);

    if (y == 0)
    {
        c = c - 1;
    }

    //floor函数,其功能是向下取整
    w = y + floor(y / 4) + floor(c / 4) - 2 * c + floor(26 * (month + 1) / 10.0) + day - 1;

    while (w < 0)
    {
        w = w + 7;
    }

    if (w % 7 == 0)
    {
        return 7;
    }

    return w % 7;
}

int main()
{
    printf("请输入年月日:\n");
    int y, m, d;
    scanf_s("%d %d %d", &y, &m, &d);
    printf("%d年%d月%d日是星期%d\n",y,m,d,week(y, m, d));

    return 0;
}

img