可以通过计算给定日期与已知日期之间的天数差来确定星期几。

首先,我们可以将已知日期2023年1月1日表示为一个整数,假设为baseDay = 0,即星期天。

然后,我们将给定日期与baseDay之间的天数差计算出来。假设给定日期为year年month月day日,则给定日期的整数表示为:

givenDay = (year - 2023) * 365 + (year - 2023)/ 4 + 天数差

其中,(year - 2023) * 365 表示从2023年到给定年份的整年天数,(year - 2023)/ 4 表示给定年份之前的闰年天数(每4年有一个闰年),天数差表示给定日期与给定年份1月1日之间的天数差。

最后,计算给定日期是星期几的方法是:

weekday = (baseDay + givenDay) % 7

其中,% 表示取模运算,将结果限制在0到6的范围内,0表示星期天,1表示星期一,依次类推。

下面是一个示例程序:

#include <stdio.h>

int main() {
    int year, month, day;
    printf("请输入年份:");
    scanf("%d", &year);
    printf("请输入月份:");
    scanf("%d", &month);
    printf("请输入日期:");
    scanf("%d", &day);

    int baseDay = 0;
    int givenDay = (year - 2023) * 365 + (year - 2023) / 4 + day - 1;
    int weekday = (baseDay + givenDay) % 7;

    switch (weekday) {
        case 0:
            printf("星期天\n");
            break;
        case 1:
            printf("星期一\n");
            break;
        case 2:
            printf("星期二\n");
            break;
        case 3:
            printf("星期三\n");
            break;
        case 4:
            printf("星期四\n");
            break;
        case 5:
            printf("星期五\n");
            break;
        case 6:
            printf("星期六\n");
            break;
        default:
            printf("输入日期有误\n");
            break;
    }

    return 0;
}

你可以根据需要修改输入和输出的方式,以上代码仅作为示例。

C语言计算2023年日期的星期几

原文地址: https://www.cveoy.top/t/topic/XjG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录