int day[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int first_day = 0;
int add_value;
char *week[7] = {"周日", "周一","周二","周三","周四","周五","周六"};
//计算输入年份是否为闰年
bool isLeap(int year)
{
return ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0));
}
//计算输入年份第一天是星期几
void Init(int year)
{
add_value = isLeap(year);
day[1] = 28 + add_value;//如果输入年为闰年,2月份的天数为29
first_day = (year + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400) % 7;//计算出输入年第一天为周几
}
//计算到输入年份的当前月的距离
int get_distance(int month)
{
int distance[12] = {0, 31, 59 + add_value, 90 + add_value, 120 + add_value,
151 + add_value, 181 + add_value, 212 + add_value,
243 + add_value, 273 + add_value, 304 + add_value, 334 + add_value};
return distance[month - 1];
}
void display(int year)
{
Init(year);
printf(" %d年年历 \n",year);
printf(" 周日 周一 周二 周三 周四 周五 周六 \n");
for(int i = 1; i <= 12; i++)
{
printf(" %d月份 \n", i);
for(int j = 0; j < first_day; j++)
{
printf(" ");
}
for(int start = 1; start <= day[i - 1]; start++)
{
printf("%6d", start);
first_day++;
if(first_day == 7)
{
first_day = 0;
printf("\n");
}
}
printf("\n");
}
}
int first_day = 0;
int add_value;
char *week[7] = {"周日", "周一","周二","周三","周四","周五","周六"};
//计算输入年份是否为闰年
bool isLeap(int year)
{
return ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0));
}
//计算输入年份第一天是星期几
void Init(int year)
{
add_value = isLeap(year);
day[1] = 28 + add_value;//如果输入年为闰年,2月份的天数为29
first_day = (year + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400) % 7;//计算出输入年第一天为周几
}
//计算到输入年份的当前月的距离
int get_distance(int month)
{
int distance[12] = {0, 31, 59 + add_value, 90 + add_value, 120 + add_value,
151 + add_value, 181 + add_value, 212 + add_value,
243 + add_value, 273 + add_value, 304 + add_value, 334 + add_value};
return distance[month - 1];
}
void display(int year)
{
Init(year);
printf(" %d年年历 \n",year);
printf(" 周日 周一 周二 周三 周四 周五 周六 \n");
for(int i = 1; i <= 12; i++)
{
printf(" %d月份 \n", i);
for(int j = 0; j < first_day; j++)
{
printf(" ");
}
for(int start = 1; start <= day[i - 1]; start++)
{
printf("%6d", start);
first_day++;
if(first_day == 7)
{
first_day = 0;
printf("\n");
}
}
printf("\n");
}
}