万年历

#include <stdio.h>
int fac(int year)					//判断是否为闰年
{
	if(year%4==0 && year%100!=0 || year%400==0)
		return 1;
	else
		return 0;
}						
int main()
{
	int year;
	int i,j;
	int index;
	int peace;
	long sum=0;
	printf("请输入一个年份:");
	scanf("%d",&year);
	int a[31]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};
	for(i=1;i<year;i++)
	{
		if(fac(i))
			sum=sum+366;
		else
			sum=sum+365;
	}
	peace=(sum+1)%7;							//判断第一天是星期几,peace是星期几的标志

	for(i=1;i<=12;i++)
	{
		printf("         %d月\n",i);
		printf("日 一 二 三 四 五 六\n");
		printf("---------------------\n");
		for(j=0;j<peace;j++)
			printf("   ");
		if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12)
			index=31;
		else if(i==2 && fac(year))
			index=29;
		else if(i==2 && !fac(year))
			index=28;
		else
			index=30;
		for(j=0;j<index;j++)
		{
			printf("%2d ",a[j]);
			peace=(peace+1)%7;
			if(peace==0 && j!=index-1)
				putchar('\n');
		}
		putchar('\n');

	}
	return 0;
}

你可能感兴趣的:(万年历)