1. 程式人生 > >C語言實現分三列顯示的萬年曆

C語言實現分三列顯示的萬年曆

筆者提示:初學C語言,瞭解for,if,函式,陣列初步就可寫下面的效果出來了!
執行環境:VC++6.0

效果

這裡寫圖片描述
程式碼


//本程式旨在製作分三列顯示的萬年曆

#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("%19d年1月%30d年2月%30d年3月\n",year,year,year);
	printf("   一   二   三   四   五   六   日***一   二   三   四   五   六   日***一   二   三   四   五   六   日\n");
	
	//顯示日曆本層核心行第1行(本日曆每層核心行共六行)
	printf("   ");
	printblank(week);
	for(i1=1;i1<=8-week;i1++)printf("%2d   ",i1);							//輸出一月份的第1行
	if(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);							//輸出二月份的第1行
	if((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);							//輸出三月份的第1行
	if(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);					//輸出一月份第2行
	for(i1=9-wee2;i1<=15-wee2;i1++)printf("%2d   ",i1);					//輸出二月份第2行
	for(i1=9-wee3;i1<=15-wee3;i1++)printf("%2d   ",i1);					//輸出三月份第2行
	printf("\n");

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

	//顯示日曆本層核心行第4行(本日曆每層核心行共六行)
	printf("   ");
	for(i1=23-week;i1<=29-week;i1++)printf("%2d   ",i1);					//輸出一月份第4行
	for(i1=23-wee2;i1<=29-wee2;i1++)printf("%2d   ",i1);					//輸出二月份第4行
	for(i1=23-wee3;i1<=29-wee3;i1++)printf("%2d   ",i1);					//輸出三月份第4行
	printf("\n");
	
	//顯示日曆本層核心行第5行(本日曆每層核心行共六行)
	printf("   ");
	if(31-(29-week)==7){for(i1=25;i1<=31;i1++)printf("%2d   ",i1);}			//輸出一月份第5行
	else 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");
	}	
}