万年历即:只要给定一个特定的年份,就能把一整年的日历显示出来,日历包括日期和星期
思路:
第一年的1月1日一定是周一,因此要知道所求的那一年1月1日是周几,就求在那一年之前一共过去了多少天,上一年最后一天的星期+1就是这一年的星期。
那求一共过去了多少天,就得分平年和闰年,平年只有365天,闰年是366天
闰年是指 能被4整除但是不能被100整除的年或者是能被400整除的年。
求星期,就拿天数对7取模,如果说过去了7天,则第一天是周一,那么今天就是7%7+1,还是周一
#include<stdio.h>
int fun(int i)
{
int s;
if(i%4==0&&i%100!=0||i%400==0)
s=366;
else s=365;
return s;
}
void main()