C语言计算2023年日期的星期几
可以通过计算给定日期与已知日期之间的天数差来确定星期几。
首先,我们可以将已知日期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;
}
你可以根据需要修改输入和输出的方式,以上代码仅作为示例。
原文地址: https://www.cveoy.top/t/topic/XjG 著作权归作者所有。请勿转载和采集!