#include<stdio.h>
void
screen();
void
whatisit();
void
leapyear();
void
printyearday();
int
IsLeapYear(int);
int
whatisita(int,int);
int
everymonth(int,int);
void
printmonth(int,int);
void
printmonthday();
char*week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
void main()
{
screen();
}
void screen()
{
int n;
while(1)
{
printf("
万年历查询程序:\n");
printf("1.
查询某年某月某日是星期几\n");
printf("2. 查询某年是否是闰年\n");
printf("3 .打印某年的全年日历\n");
printf("4. 查询某月的最大天数\n");
printf("5. 退出\n");
printf("请输入要查询的选项:");
scanf("%d",&n);
switch(n)
{
case 1:whatisit();break;
case 2:leapyear();break;
case
3:printyearday();break;
case
4:printmonthday();break;
case 5:return;
default:printf("你输入错误,请按要求输入!!!\n");break;
}
}
}
void whatisit()
{
int y,m,d,s,k=1,sum,n,i;
char yn;
int
a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
while(k)
{
printf("请依次输入年,月,日:\n");
scanf("%d,%d,%d",&y,&m,&d);
s=0;
for(i=1;i<m;i++)
s=s+a[i];
s=s+d;
if(IsLeapYear(y)&&m>2)s=s+1;
sum=s;
n=(y-1+(y-1)/4-(y-1)/100+(y-1)/400+sum)%7;
printf("这天是%s\n",week[n]);
printf("是否继续查询(Y/N)?");
scanf("%c",&yn);getchar();
if(yn=='y'||yn=='Y')k=1;
else k=0;
}
}
int IsLeapYear(int year)
{return(year%4==0&&year%100!=0)||(year%400==0);}
void leapyear()
{
int y,k=1;
char yn;
while(k)
{
printf("请输入查询的年份:\n");
scanf("%d",&y);
if(IsLeapYear(y))
printf("是闰年!\n");
else
|