C语言打印年历
#include<stdio.h>
//"已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历" enumboolean{yes,no};
struct standard
{
int year;
int weekday;
}StandardDay={2000,6};
booleanisleap(int year)
{
return 0==year%400||0==year%4&&year%100!=0?yes:no;
}
intgetfirstday(int year)
{
int days=0,i;
int weekday;
if(year>StandardDay.year)
{
for(i=StandardDay.year;i<year;i++)
{
if(isleap(i)==yes) days+=366;
else days+=365;
}
weekday = days%7+StandardDay.weekday;
if(weekday>7) weekday-=7;
}
else if(year<StandardDay.year)
{
for(i=year;i<StandardDay.year;i++)
{
if(isleap(i)==yes) days+=366;
else days+=365;
}
weekday = StandardDay.weekday-days%7;
if(weekday<1) weekday+=7;
}
else return StandardDay.weekday;
return weekday;
}
void printCalendar(intyear,intfirstweekday)//打印年历
{