second commit

master
1282855823@qq.com 6 years ago
parent 24a68155df
commit 6e01d8c284

@ -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;
}

Binary file not shown.
Loading…
Cancel
Save