#include <stdio.h>
int yy(int date,int weekdays) //输出函数,输出该月月历
{
    int i,j=0;
    printf("该月的月历如下:\n");
    printf("Sun  Mon  Tue  Wed  Thu  Fri  Sat");
    for(i=1;i<=date;)  //计算本月第一天是周几。
    {
        if(j<weekdays)
            printf("    ");
        else
      tf("%3d  ",i++)    prin;
        if(j%7==0)
            printf("\n");
        j++;
    }
}
int ryear(int year)  //判断是否为闰年
{
    if (year%400==0||year%4==0&&year%100!=0)
        return 1;
    else
        return 0;
}
int year(int year) //计算之前年份的总天数
{
    int i,days=0;
    for(i=1;i<=year;i++)
    {
        if(ryear(i))  //若是闰年,天数为366天,否则是365天。
            days+=366;
        else
            days+=365;
    }
    return days;
}
int month(int year,int month)  //计算该年前几个月份的总天数
{
    int days=0;
    if(month>1)
        days+=31;
    if(month>2)
    {
      if(ryear(year))    //若是查询闰年2-12月份,则天数+29,否则天数+28
c语言教程免费全套视频
            days+=29;
      else
            days+=28;
    }
    if(month>3)
        days+=31;
    if(month>4)
        days+=30;
    if(month>5)
        days+=31;
    if(month>6)
        days+=30;
    if(month>7)
        days+=31;
    if(month>8)
        days+=31;
    if(month>9)
        days+=30;
    if(month>10)
        days+=31;
    if(month>11)
        days+=30;
    else
        days+=0;
    return days;
}
int date(int year,int month)  //分析该月天数
{
    //int date;
    int date[13];
    if (ryear(year))
    {
        date[0]=0,date[1]=31,date[2]=29,date[3]=31,date[4]=30,date[5]=31,date[6]=30,
        date[7]=31,date[8]=31,date[9]=30,date[10]=31,date[11]=30,date[12]=31;
    }
    else
    {
        date[0]=0,date[1]=31,date[2]=28,date[3]=31,date[4]=30,date[5]=31,date[6]=30,
        date[7]=31,date[8]=31,date[9]=30,date[10]=31,date[11]=30,date[12]=31;
    }
    return date[month];
}
int day(int day) //总天数
{
  int days=0;
  days+=day;
}
int face() //欢迎语
{
    printf("\n");
    printf("    ┏━━━━━━━━┓\n");
    printf("    ┃欢迎使用万年历!┃\n");
    printf("    ┗━━━━━━━━┛\n");
    printf("\n");
    printf("\n");
}
int main()  //主函数
{
    int a,b,days,weekdays;
    face();
    printf("请输入要查询的年月份(中间用空格间隔):\n"); //输入
    scanf("%d %d",&a,&b);  //输入年月份
        days=year(a)+month(a,b); //调用年函数和月函数
        weekdays=days%7;
        yy(date(a,b),weekdays); //调用输出函数
}