C语言万年历

来源:百度知道 编辑:UC知道 时间:2024/05/29 00:06:30
=万年历设计=
主要功能包括:
• 查询某年某月每一天对应星期几
• 可以查询某年某月的上个月或是下个月的日历情况
• 查询某年某月某日是这一年的第几天,并查询改天是星期几
• 判断该年是闰年还是平年,判断这一年的生肖

#include<stdio.h>
long int f(int year,int month)
{//f(年,月)=年-月,如月<3;否则,f(年,月)=年
if (month <3)
return year-1;
else
return year;
}
long int g(int month)
{//g( 月)=月+13,如月<3;否则,g(月)=月+1
if(month<3)
return month + 13;
else
return month + 1;

}
long int n(int year,int month,int day)
{
return 1461L*f(year,month)/4+153L*g(month)/5+day;
}
int w(int year,int month,int day)
{
return(int) ((n(year,month,day)%7-621049L%7+7)%7);
}

int date[12][6][7];
int day_tbl[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};

int main()
{
int sw,leap,i,j,k,wd,day;
int year;
char title[]="SUN MON TUE WED THU FRI SAT";

printf("Please input the yewr whose calendar you want to know:");
scanf("%d%*c",&year);