万年历

#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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值