|
|
@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
#define MAIN_H
|
|
|
|
|
|
|
|
#include "stdio.h"
|
|
|
|
|
|
|
|
#include "math.h"
|
|
|
|
|
|
|
|
#include "stdlib.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取某一个月的最大天数
|
|
|
|
|
|
|
|
int monthday(int,int );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//判断闰年 ,是返回1,不是返回0
|
|
|
|
|
|
|
|
int isleapyear(int );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include<math.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int main()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
int year,month,days,weekday;
|
|
|
|
|
|
|
|
int i,d;
|
|
|
|
|
|
|
|
while(1)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("please input the year:\n");
|
|
|
|
|
|
|
|
scanf("%d",&year);
|
|
|
|
|
|
|
|
days = year-1+(year-1)/400+(year-1)/4-(year-1)/100;//计算某年第一天是星期几
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(month=1;month<=12;month++)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("\n--------%d/%d--------\n",year,month);
|
|
|
|
|
|
|
|
printf("sun\tmon\ttues\twed\tthur\tfir\tsat\t\n");//表头
|
|
|
|
|
|
|
|
i = 1; d = 1;
|
|
|
|
|
|
|
|
weekday = (days + 1)%7; //求星期几
|
|
|
|
|
|
|
|
while(i<=weekday) //输出前面的空格
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
printf("\t");
|
|
|
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while(d<=monthday(month,year)) //输出日期
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
weekday = (days + 1)%7;
|
|
|
|
|
|
|
|
if(weekday==6) //最后一个是星期六,输出之后要换行
|
|
|
|
|
|
|
|
printf("%d\n",d);
|
|
|
|
|
|
|
|
else //不是星期六的输出后不换行
|
|
|
|
|
|
|
|
printf("%d\t",d);
|
|
|
|
|
|
|
|
if(d==monthday(month,year))
|
|
|
|
|
|
|
|
printf("\n");
|
|
|
|
|
|
|
|
d++;
|
|
|
|
|
|
|
|
days++;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "math.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int monthday(int month,int year)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
switch(month)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
|
|
|
|
case 7:
|
|
|
|
|
|
|
|
case 8:
|
|
|
|
|
|
|
|
case 10:
|
|
|
|
|
|
|
|
case 12:
|
|
|
|
|
|
|
|
return 31;break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
|
|
|
|
case 9:
|
|
|
|
|
|
|
|
case 11:
|
|
|
|
|
|
|
|
return 30;break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
|
|
|
|
if(isleapyear(year))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return 29;//闰年29天
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return 28;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int isleapyear(int year)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if((year%4==0)&&(year%100!=0)||(year%400==0))
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
}
|