C语言万年历(单排)

以下是使用c语言实现的一个万年历程序(单排)(for循环实现):

正常int范围内的年份不会出现问题

#include<stdio.h>
#include<Windows.h>
int main()
{
	int i,j,year,day1,mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	printf("请输入年份:");
	scanf("%d",&year);
	if(year%4==0&&year%100!=0||year%400==0)
	{
		mon[1]=29;
	}
	day1=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7;
	for(j=0;j<12;j++)
	{
		printf("\n*********************\n%d月\n 日 一 二 三 四 五 六\n",j+1);
		for(i=0;i<day1;i++)
		{
			printf("   ");
		}
		for(i=1;i<=mon[j];i++)
		{
			printf("%3d",i);
			if((i+day1-1)%7==6)
			{
				printf("\n");
			}
		}
		day1=(day1+mon[j])%7;
	}
	system("pause");
}

点击以下链接查看n排万年历

点击打开n排万年历

原创文章,禁止转载


猜你喜欢

转载自blog.csdn.net/skying_/article/details/78414726