C语言实现分三列显示的万年历

笔者提示:初学C语言,了解for,if,函数初步就可写下面的效果出来了!

效果

这里写图片描述

代码


//本程序旨在制作分三列显示的万年历

#include<stdio.h>

void printblank(int n)          //本函数用来控制每月的一号是星期n的时候,输出不同的格式,使输出规范
{
    if(n==1)printf("");
    if(n==2)printf("     ");
    if(n==3)printf("          ");
    if(n==4)printf("               ");
    if(n==5)printf("                    ");
    if(n==6)printf("                         ");
    if(n==7)printf("                              ");
}


int wek(int yea)                    //本函数用来计算每年的一月一号是周几
{
    int a[10005];
    int k=1;
    int i;
    a[1]=1;
    for(i=2;i<10001;i++)
    {
        if(k%400==0 || (k%4==0 && k%100!=0))
        {
            if(a[i-1]==7)a[i]=2;
            else if(a[i-1]==6)a[i]=1;
            else
                a[i]=a[i-1]+2;
        }
        else
        {
            if(a[i-1]==7)a[i]=1;
            else a[i]=a[i-1]+1;
        }
        k++;
    }
    return a[yea];
}   

void main()
{
    int i1;
    int week,year;                  //year表示某年,week表示该年的一月一号是星期几
    int week1,week2,week3,week4,week5,week6,week7,week8,week9,week10,week11,week12;     //week1表示一月份最后一天是星期几,依次类推
    int wee2,wee3,wee4,wee5,wee6,wee7,wee8,wee9,wee10,wee11,wee12;//wee2表示二月1号是星期几,下面类同

    printf("Please input any year between 1 and 10000,such as 1,152,1689,2017 and so on, then you will see the year's calendar\n");
    scanf("%d",&year);
    if(year>10000 || year<0)printf("You input a wrong year!!! Please input a correct year according to the hint above.\n");
    else
    {
    week=wek(year);

                            //本程序分四层显示,下面对日历逐层完成输出
    printf("\n\n                  *************%04d年日历*************************%04d年日历*************\n\n",year,year,year);

                            //第一层实现输出如下(本程序共分四层实现万年历分三列打印)

    printf("***********************************   ********************************   ***********************************\n");
    printf("%19d1月%30d2月%30d3月\n",year,year,year);
    printf("   一   二   三   四   五   六   日***一   二   三   四   五   六   日***一   二   三   四   五   六   日\n");

    //显示日历本层核心行第1行(本日历每层核心行共六行)
    printf("   ");
    printblank(week);
    for(i1=1;i1<=8-week;i1++)printf("%2d   ",i1);                           //输出一月份的第1if(week<6)week1=week+2;                         //确定一月份的最后
    else week1=week-5;                              //一天是星期几,下面类同
    if(week1==7)wee2=1;                             //确定二月1号是星期几,下面类同
    else wee2=week1+1;                              

    printblank(wee2);
    for(i1=1;i1<=8-wee2;i1++)printf("%2d   ",i1);                           //输出二月份的第1if((year%400==0) || (year%4==0 && (year%100!=0))){week2=wee2;}
    else
    {
        if(wee2==1)week2=7;
        else 
            week2=wee2-1;
    }
    if(week2==7)wee3=1;                             //确定三月1号是周几
    else
        wee3=week2+1;

    printblank(wee3);
    for(i1=1;i1<=8-wee3;i1++)printf("%2d   ",i1);                           //输出三月份的第1if(wee2<6)week3=wee2+2;
    else 
        week3=wee2-5;
    if(week3==7)wee4=7;
    else
        wee4=week3+1;                               //确定四月1号是周几
    printf("\n");

    //显示日历本层核心行第2行(本日历每层核心行共六行)
    printf("   ");
    for(i1=9-week;i1<=15-week;i1++)printf("%2d   ",i1);                 //输出一月份第2for(i1=9-wee2;i1<=15-wee2;i1++)printf("%2d   ",i1);                 //输出二月份第2for(i1=9-wee3;i1<=15-wee3;i1++)printf("%2d   ",i1);                 //输出三月份第2printf("\n");

    //显示日历本层核心行第3行(本日历每层核心行共六行)
    printf("   ");
    for(i1=16-week;i1<=22-week;i1++)printf("%2d   ",i1);                    //输出一月份第3for(i1=16-wee2;i1<=22-wee2;i1++)printf("%2d   ",i1);                    //输出二月份第3for(i1=16-wee3;i1<=22-wee3;i1++)printf("%2d   ",i1);                    //输出三月份第3printf("\n");

    //显示日历本层核心行第4行(本日历每层核心行共六行)
    printf("   ");
    for(i1=23-week;i1<=29-week;i1++)printf("%2d   ",i1);                    //输出一月份第4for(i1=23-wee2;i1<=29-wee2;i1++)printf("%2d   ",i1);                    //输出二月份第4for(i1=23-wee3;i1<=29-wee3;i1++)printf("%2d   ",i1);                    //输出三月份第4printf("\n");

    //显示日历本层核心行第5行(本日历每层核心行共六行)
    printf("   ");
    if(31-(29-week)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}         //输出一月份第5else if(week+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(week+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(week+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(week+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(week+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}

    if((year%400==0) || (year%4==0 && (year%100!=0)))                       //输出二月份第5行
    {
        if(29-(29-wee2)==1)printf("%2d                                 ",29);
        else if(wee2==2)printf("%2d   %2d                            ",28,29);
        else if(wee2==3)printf("%2d   %2d   %2d                       ",27,28,29);
        else if(wee2==4){for(i1=26;i1<=29;i1++)printf("%2d   ",i1);printf("               ");}
        else if(wee2==5){for(i1=25;i1<=29;i1++)printf("%2d   ",i1);printf("          ");}
        else if(wee2==6){for(i1=24;i1<=29;i1++)printf("%2d   ",i1);printf("     ");}
        else{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}
    }
    else
    {
        if(28-(29-wee2)==0)printf("                                   ");
        else if(wee2-1==1)printf("%2d                                 ",28);
        else if(wee2==3)printf("%2d   %2d                            ",27,28);
        else if(wee2==4)printf("%2d   %2d   %2d                       ",26,27,28);
        else if(wee2==5)printf("%2d   %2d   %2d   %2d                       ",25,26,27,28);
        else if(wee2==6)printf("%2d   %2d   %2d   %2d   %2d             ",24,25,26,27,28);
        else{for(i1=23;i1<=28;i1++)printf("%2d   ",i1);printf("     ");}
    }

    if(31-(29-wee3)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}         //输出三月份第5行
    else if(wee3+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(wee3+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(wee3+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(wee3+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(wee3+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}
    printf("\n");

    //显示日历本层核心行第6行(本日历每层核心行共六行)
    printf("   ");
    if(week+2==8)printf("%2d                                 ",31);         //输出一月份第6行
    else if(week+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");

    printf("                                   ");                          //输出二月份第6行

    if(wee3+2==8)printf("%2d                                 ",31);         //输出三月份第6行
    else if(wee3+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");
    printf("\n");


                                //第二层实现输出如下(本程序共分四层实现万年历分三列打印)

    printf("***********************************   ********************************   ***********************************\n");
    printf("%19d年4月%30d年5月%30d年6月\n",year,year,year);
    printf("   一   二   三   四   五   六   日***一   二   三   四   五   六   日***一   二   三   四   五   六   日\n");

    //显示日历本层核心行第1行(本日历每层核心行共六行)
    printf("   ");
    printblank(wee4);
    for(i1=1;i1<=8-wee4;i1++)printf("%2d   ",i1);                           //输出四月份的第1行
    if(wee4<=6)week4=wee4+1;                            //确定四月份的最后
    else week4=1;                               //一天是星期几,下面类同
    if(week4==7)wee5=1;                             //确定五月1号是星期几,下面类同
    else wee5=week4+1;                              

    printblank(wee5);
    for(i1=1;i1<=8-wee5;i1++)printf("%2d   ",i1);                           //输出五月份的第1行
    if(wee5<6)week5=wee5+2;
    else week5=wee5-5;
    if(week5==7)wee6=7;
    else wee6=week5+1;                              //确定六月1号是周几

    printblank(wee6);
    for(i1=1;i1<=8-wee6;i1++)printf("%2d   ",i1);                           //输出六月份的第1行
    if(wee6<=6)week6=wee6+1;
    else week6=1;
    if(week6==7)wee7=7;
    else
        wee7=week6+1;                               //确定七月1号是周几
    printf("\n");

    //显示日历本层核心行第2行(本日历每层核心行共六行)
    printf("   ");
    for(i1=9-wee4;i1<=15-wee4;i1++)printf("%2d   ",i1);                 //输出四月份第2行
    for(i1=9-wee5;i1<=15-wee5;i1++)printf("%2d   ",i1);                 //输出五月份第2行
    for(i1=9-wee6;i1<=15-wee6;i1++)printf("%2d   ",i1);                 //输出六月份第2行
    printf("\n");

    //显示日历本层核心行第3行(本日历每层核心行共六行)
    printf("   ");
    for(i1=16-wee4;i1<=22-wee4;i1++)printf("%2d   ",i1);                    //输出四月份第3行
    for(i1=16-wee5;i1<=22-wee5;i1++)printf("%2d   ",i1);                    //输出五月份第3行
    for(i1=16-wee6;i1<=22-wee6;i1++)printf("%2d   ",i1);                    //输出六月份第3行
    printf("\n");

    //显示日历本层核心行第4行(本日历每层核心行共六行)
    printf("   ");
    for(i1=23-wee4;i1<=29-wee4;i1++)printf("%2d   ",i1);                    //输出四月份第4行
    for(i1=23-wee5;i1<=29-wee5;i1++)printf("%2d   ",i1);                    //输出五月份第4行
    for(i1=23-wee6;i1<=29-wee6;i1++)printf("%2d   ",i1);                    //输出六月份第4行
    printf("\n");

    //显示日历本层核心行第5行(本日历每层核心行共六行)
    printf("   ");
    if(30-(29-wee4)==2)printf("%2d   %2d                            ",29,30);//输出四月份第5行
    else if(wee4+1==3){for(i1=28;i1<=30;i1++)printf("%2d   ",i1);printf("                    ");}
    else if(wee4+1==4){for(i1=27;i1<=30;i1++)printf("%2d   ",i1);printf("               ");}
    else if(wee4+1==5){for(i1=26;i1<=30;i1++)printf("%2d   ",i1);printf("          ");}
    else if(wee4+1==6){for(i1=25;i1<=30;i1++)printf("%2d   ",i1);printf("     ");}
    else if(wee4+1==7){for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}
    else {for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}

    if(31-(29-wee5)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}         //输出五月份第5行
    else if(wee5+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(wee5+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(wee5+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(wee5+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(wee5+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}

    if(30-(29-wee6)==2)printf("%2d   %2d                            ",29,30);//输出六月份第5行
    else if(wee6+1==3){for(i1=28;i1<=30;i1++)printf("%2d   ",i1);printf("                    ");}
    else if(wee6+1==4){for(i1=27;i1<=30;i1++)printf("%2d   ",i1);printf("               ");}
    else if(wee6+1==5){for(i1=26;i1<=30;i1++)printf("%2d   ",i1);printf("          ");}
    else if(wee6+1==6){for(i1=25;i1<=30;i1++)printf("%2d   ",i1);printf("     ");}
    else if(wee6+1==7){for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}
    else {for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}
    printf("\n");

    //显示日历本层核心行第6行(本日历每层核心行共六行)
    printf("   ");
    if(30-(29-wee4)==8)printf("%2d                                 ",30);//输出四月份第6行
    else printf("                                   ");

    if(wee5+2==8)printf("%2d                                 ",31);         //输出五月份第6行
    else if(wee5+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");

    if(30-(29-wee6)==8)printf("%2d                                 ",30);//输出六月份第6行
    else printf("                                   ");
    printf("\n");


                                //第三层实现输出如下(本程序共分四层实现万年历分三列打印)

    printf("***********************************   ********************************   ***********************************\n");
    printf("%19d年7月%30d年8月%30d年9月\n",year,year,year);
    printf("   一   二   三   四   五   六   日***一   二   三   四   五   六   日***一   二   三   四   五   六   日\n");

    //显示日历本层核心行第1行(本日历每层核心行共六行)
    printf("   ");
    printblank(wee7);
    for(i1=1;i1<=8-wee7;i1++)printf("%2d   ",i1);                           //输出七月份的第1行
    if(wee7<6)week7=wee7+2;
    else week7=wee7-5;
    if(week7==7)wee8=1;
    else wee8=week7+1;

    printblank(wee8);
    for(i1=1;i1<=8-wee8;i1++)printf("%2d   ",i1);                           //输出八月份的第1行
    if(wee8<6)week8=wee8+2;
    else week8=wee8-5;
    if(week8==7)wee9=1;
    else wee9=week8+1;

    printblank(wee9);
    for(i1=1;i1<=8-wee9;i1++)printf("%2d   ",i1);                           //输出九月份的第1行
    if(wee9<=6)week9=wee9+1;
    else week9=1;
    if(week9==7)wee10=1;
    else wee10=week9+1;
    printf("\n");

    //显示日历本层核心行第2行(本日历每层核心行共六行)
    printf("   ");
    for(i1=9-wee7;i1<=15-wee7;i1++)printf("%2d   ",i1);                 //输出七月份第2行
    for(i1=9-wee8;i1<=15-wee8;i1++)printf("%2d   ",i1);                 //输出八月份第2行
    for(i1=9-wee9;i1<=15-wee9;i1++)printf("%2d   ",i1);                 //输出九月份第2行
    printf("\n");

    //显示日历本层核心行第3行(本日历每层核心行共六行)
    printf("   ");
    for(i1=16-wee7;i1<=22-wee7;i1++)printf("%2d   ",i1);                    //输出七月份第3行
    for(i1=16-wee8;i1<=22-wee8;i1++)printf("%2d   ",i1);                    //输出八月份第3行
    for(i1=16-wee9;i1<=22-wee9;i1++)printf("%2d   ",i1);                    //输出九月份第3行
    printf("\n");

    //显示日历本层核心行第4行(本日历每层核心行共六行)
    printf("   ");
    for(i1=23-wee7;i1<=29-wee7;i1++)printf("%2d   ",i1);                    //输出七月份第4行
    for(i1=23-wee8;i1<=29-wee8;i1++)printf("%2d   ",i1);                    //输出八月份第4行
    for(i1=23-wee9;i1<=29-wee9;i1++)printf("%2d   ",i1);                    //输出九月份第4行
    printf("\n");

    //显示日历本层核心行第5行(本日历每层核心行共六行)
    printf("   ");
    if(31-(29-wee7)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}         //输出七月份第5行
    else if(wee7+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(wee7+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(wee7+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(wee7+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(wee7+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}

    if(31-(29-wee8)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}         //输出八月份第5行
    else if(wee8+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(wee8+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(wee8+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(wee8+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(wee8+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}

    if(30-(29-wee9)==2)printf("%2d   %2d                            ",29,30);//输出九月份第5行
    else if(wee9+1==3){for(i1=28;i1<=30;i1++)printf("%2d   ",i1);printf("                    ");}
    else if(wee9+1==4){for(i1=27;i1<=30;i1++)printf("%2d   ",i1);printf("               ");}
    else if(wee9+1==5){for(i1=26;i1<=30;i1++)printf("%2d   ",i1);printf("          ");}
    else if(wee9+1==6){for(i1=25;i1<=30;i1++)printf("%2d   ",i1);printf("     ");}
    else if(wee9+1==7){for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}
    else {for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}
    printf("\n");

    //显示日历本层核心行第6行(本日历每层核心行共六行)
    printf("   ");
    if(wee7+2==8)printf("%2d                                 ",31);         //输出七月份第6行
    else if(wee7+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");

    if(wee8+2==8)printf("%2d                                 ",31);         //输出八月份第6行
    else if(wee8+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");

    if(30-(29-wee9)==8)printf("%2d                                 ",30);//输出九月份第6行
    else printf("                                   ");
    printf("\n");


                                //第四层实现输出如下(本程序共分四层实现万年历分三列打印)

    printf("***********************************   ********************************   ***********************************\n");
    printf("%19d年10月%29d年11月%29d年12月\n",year,year,year);
    printf("   一   二   三   四   五   六   日***一   二   三   四   五   六   日***一   二   三   四   五   六   日\n");

    //显示日历本层核心行第1行(本日历每层核心行共六行)
    printf("   ");
    printblank(wee10);
    for(i1=1;i1<=8-wee10;i1++)printf("%2d   ",i1);                          //输出十月份的第1行
    if(wee10<6)week10=wee10+2;
    else week10=wee10-5;
    if(week10==7)wee11=1;
    else wee11=week10+1;

    printblank(wee11);
    for(i1=1;i1<=8-wee11;i1++)printf("%2d   ",i1);                          //输出十一月份的第1行
    if(wee11==7)week11=1;
    else week11=wee11+1;
    if(week11==7)wee12=1;
    else wee12=week11+1;

    printblank(wee12);
    for(i1=1;i1<=8-wee12;i1++)printf("%2d   ",i1);                          //输出十二月份的第1行
    printf("\n");

    //显示日历本层核心行第2行(本日历每层核心行共六行)
    printf("   ");
    for(i1=9-wee10;i1<=15-wee10;i1++)printf("%2d   ",i1);                   //输出十月份第2行
    for(i1=9-wee11;i1<=15-wee11;i1++)printf("%2d   ",i1);                   //输出十一月份第2行
    for(i1=9-wee12;i1<=15-wee12;i1++)printf("%2d   ",i1);                   //输出十二月份第2行
    printf("\n");

    //显示日历本层核心行第3行(本日历每层核心行共六行)
    printf("   ");
    for(i1=16-wee10;i1<=22-wee10;i1++)printf("%2d   ",i1);                  //输出十月份第3行
    for(i1=16-wee11;i1<=22-wee11;i1++)printf("%2d   ",i1);                  //输出十一月份第3行
    for(i1=16-wee12;i1<=22-wee12;i1++)printf("%2d   ",i1);                  //输出十二月份第3行
    printf("\n");

    //显示日历本层核心行第4行(本日历每层核心行共六行)
    printf("   ");
    for(i1=23-wee10;i1<=29-wee10;i1++)printf("%2d   ",i1);                      //输出十月份第4行
    for(i1=23-wee11;i1<=29-wee11;i1++)printf("%2d   ",i1);                      //输出十一月份第4行
    for(i1=23-wee12;i1<=29-wee12;i1++)printf("%2d   ",i1);                      //输出十二月份第4行
    printf("\n");

    //显示日历本层核心行第5行(本日历每层核心行共六行)
    printf("   ");
    if(31-(29-wee10)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}            //输出十月份第5行
    else if(wee10+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(wee10+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(wee10+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(wee10+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(wee10+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}

    if(30-(29-wee9)==2)printf("%2d   %2d                            ",29,30);   //输出十一月份第5行
    else if(wee11+1==3){for(i1=28;i1<=30;i1++)printf("%2d   ",i1);printf("                    ");}
    else if(wee11+1==4){for(i1=27;i1<=30;i1++)printf("%2d   ",i1);printf("               ");}
    else if(wee11+1==5){for(i1=26;i1<=30;i1++)printf("%2d   ",i1);printf("          ");}
    else if(wee11+1==6){for(i1=25;i1<=30;i1++)printf("%2d   ",i1);printf("     ");}
    else if(wee11+1==7){for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}
    else {for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}

    if(31-(29-wee12)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}            //输出十二月份第5行
    else if(wee12+2==8){{for(i1=24;i1<=30;i1++)printf("%2d   ",i1);}}
    else if(wee12+2==9){{for(i1=23;i1<=29;i1++)printf("%2d   ",i1);}}
    else if(wee12+2==6){{for(i1=26;i1<=31;i1++)printf("%2d   ",i1);}printf("     ");}
    else if(wee12+2==5){{for(i1=27;i1<=31;i1++)printf("%2d   ",i1);}printf("          ");}
    else if(wee12+2==4){{for(i1=28;i1<=31;i1++)printf("%2d   ",i1);}printf("               ");}
    else{for(i1=29;i1<=31;i1++)printf("%2d   ",i1);printf("                    ");}
    printf("\n");

    //显示日历本层核心行第6行(本日历每层核心行共六行)
    printf("   ");
    if(wee10+2==8)printf("%2d                                 ",31);            //输出十月份第6行
    else if(wee10+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");

    if(30-(29-wee11)==8)printf("%2d                                 ",30);  //输出十一月份第6行
    else printf("                                   ");

    if(wee12+2==8)printf("%2d                                 ",31);            //输出十二月份第6行
    else if(wee12+2==9)printf("%2d   %2d                            ",30,31);
    else
        printf("                                   ");
    printf("\n");
    printf("***********************************   ********************************   ***********************************\n");
    }   
}

猜你喜欢

转载自blog.csdn.net/ccnuacmhdu/article/details/80508447