求某年某月某日是星期几(C语言)

#include<stdio.h>

int dayOfWeek(int year, int month, int day)
{ 
	int a[12] = {  31,28,31,30,31,30,31,31,30,31,30,31 }, i, days = 0;
	if (year % 400 == 0 || year % 100 != 0 && year % 4 == 0)
		a[1] = 29;
	for (i = 0; i < month - 1; i++)
		days += a[i];
	days += day;
	return (year - 1 + (year - 1) / 400 - (year - 1) / 100 + (year - 1) / 4 + days) % 7;
}

int main()
{ 
	char str[7][10] = {  "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" };
	int year, month, day;
	while (scanf("%d%d%d", &year, &month, &day) != EOF)
		printf("%s\n\n", str[dayOfWeek(year, month, day)]);
	return 0;
}

记住:公元元年1月1日是星期一,四年一闰,百年不闰,四百再闰。

    原文作者:5yefeng
    原文地址: https://blog.csdn.net/baidu_41793719/article/details/104094332
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞