调试通过国,应该可以用。
#include
char*
month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"};
char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
int IsLeapYear(int year) /*find out the year is leap year or not*/
{
if((year%4==0&&year%100!=0)||(year%400==0)) //这里是判断是否是闰年的
return 1; //如果是闰年就返回值
else
return 0;//不是的话返回
}
int month_day(int year,int month) //这个函数用来判断这年的月分有多少天的
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
if(IsLeapYear(year)&&month==2) /*判断是判断是否是闰年,如果是闰年而且这个月是月那这个月有天*/ return 29;
else
return(mon_day[month-1]);
}
int DaySearch(int year,int month,int day) /*这个函数是计算输入的日期对应的星期*/
{
int c=0;
float s;
int m;
for(m=1;m
c=c+month_day(year,m); //这是计算输入的月分的累计天数
c=c+day; //计算日期在这一年中是第几天
s=year-1+(int)(year-1)/4+(int )(year-1)/100+(int)(year-1)/400-40+c; /*这是计算日期对应的星期公式,这个公式可在网上查到*/
return ((int)s%7); //与上语句同属计算日期对应的星期
}
int PrintAllYear(int year)/*这个函数是用来输出全年的日历*/
{
int temp;
int i,j;
printf("\n\n%d Calander\n",year);
for(i=1;i<=12;i++)