// 已知1999.12.31是周五// 根据年月日,判断20XX年XX月XX日是 星期几#include "stdio.h"unsigned int Year;unsigned int Month;unsigned int Day;//===============================================================================//判断是否为闰年//===============================================================================// 公元纪年的年数可以被四整除且不能被100整除,即为闰年; // 被100整除也可被400整除的为闰年;// 被100整除而不能被400整除为平年;char Whether_LeapYear(unsigned int y){ return ( y%4==0 && y%100!=0 ) || (y%400==0);}//----------------------------------// 验证每月最大天数//----------------------------------unsigned int Max_Valid_Day(unsigned int MonthTemp){ unsigned int MaxDay; switch(MonthTemp) { // 1.3.5.7.8.10.12月31天 case 1: case 3: case 5: case 7: case 8: case 10: case 12: MaxDay = 31; break; // 4.6.9.11月30天 case 4: case 6: case 9: case 11: MaxDay = 30; break; case 2: if(Whether_LeapYear(Year)) MaxDay = 29; // 闰年2月29天 else MaxDay = 28; // 平年2月28天 break; } return MaxDay;}//----------------------------------------//求自2000.1.1开始的任何一天是星期几//函数没有通过求出总天数,再求星期几//因为求总天数可能会超过uint的范围//----------------------------------------unsigned int Get_WeekDay(unsigned int rYear,unsigned int rMonth,unsigned int rDay){ unsigned int i; unsigned int d; unsigned int w=5; //已知1999.12.31是周五 //从2000.1.1开始推算出(当前年i-1)年12.31是星期几(w) for(i=2000; i