我的日历 (第一个900行暴力解)

本文介绍了一个使用C++编写的程序,该程序能够打印出2017年的每个月的日历,并且考虑了不同月份的天数以及是否为闰年等因素,通过计算每月第一天对应的星期数来正确布局日历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<stack>
#include <iomanip>
#include<vector>
#include<queue>
#include<cstring>
#include<map>
using namespace std;
int n;
int pm[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int fuzhu()
{
	cout<<"一 二 三 四 五 六 日    ";
}
int a1,a2,a3,i;
int x1,x2,x3;
int main()
{
	cin>>n;
	if(n<=12)
	{
		int week=2017+2017/4-2017/100+2017/400+1;
		for(int xx=1;xx<n;xx++)
		{
			week+=pm[xx];
		}
		week%=7;
		if(week==0)week=7;
		fuzhu();cout<<'\n';
		for(int xx=week-1;xx>0;xx--)
		{
			cout<<"   ";
		}
		a1=1;
		for(week;week<=7;week++)
		{
			cout<<" "<<a1<<" ";
			a1++;
		}cout<<'\n';//11111
		for(int ii=1;ii<=7;ii++)
		{
			if(a1<10)cout<<" ";
			cout<<a1<<" ";
			a1++;
		}cout<<'\n';//2222
		for(int ii=1;ii<=7;ii++)
		{
			if(a1<10)cout<<" ";
			cout<<a1<<" ";
			a1++;
		}cout<<'\n';//3333
		for(int ii=1;ii<=7;ii++)
		{
			if(a1<10)cout<<" ";
			cout<<a1<<" ";
			a1++;
		}cout<<'\n';//4444
		if(pm[n]-a1<=7)
		{
			while(a1<=pm[n])
			{
				cout<<a1<<" ";
				a1++;
			}
			cout<<'\n';
		}
		else
		{
			for(int ii=1;ii<=7;ii++)
			{
			if(a1<10)cout<<" ";
			cout<<a1<<" ";
			a1++;
			}cout<<'\n';
			while(a1<=pm[n])
			{
				cout<<a1<<" ";
				a1++;
			}
			cout<<'\n';
		}
		return 0;
	}
	cout<<"                                                 "<<n<<'\n';
	fuzhu();fuzhu();fuzhu();cout<<'\n';
	a1=1;a2=1;a3=1;
	x1=(n-1)+(n-1)/4-(n-1)/100+(n-1)/400+1;x1%=7;
	x2=(x1+31)%7;
	if((n%4==0&&n%100!=0)||n%400==0){x3=(x2+29)%7;}else{x3=(x2+28)%7;}//
	//µÚÒ»ÐÐ 
	i=x1;if(i==0)i=7;
	//;
	for(--i;i>0;i--)cout<<"   ";
	i=x1;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		
		cout<<" "<<a1<<" ";
		a1++;
	}cout<<"   ";
	i=x2;if(i==0)i=7;
	//;
	for(--i;i>0;i--)cout<<"   ";
	i=x2;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a2<<" ";
		a2++;
	}
	i=x3;if(i==0)i=7;
	////;
	for(i;i>0;i--)cout<<"   ";
	i=x3;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a3<<" ";
		a3++;
	}
	//µÚ¶þÐÐ
	cout<<'\n';
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	} cout<<'\n';
	//µÚÈýÐÐ 
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚËÄÐÐ
	for(i=1;i<=7;i++)
	{
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚÎåÐÐ
	int k;
	k=31-a1+1;
	k=7-k;
	if(k>=0)
	{
		while(a1<=31)
	{
		cout<<a1<<" ";
		a1++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a1<<" ";
			a1++;
		}
		cout<<"   ";
	}
	
	int x;
	if((n%4==0&&n%100!=0)||n%400==0)x=29;
	else x=28;k=x-a2+1;
	k=7-k;
	while(a2<=x)
	{
		cout<<a2<<" ";
		a2++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}

	k=31-a3+1;
	k=7-k;
	if(k>=0)
	{
		while(a3<=31)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		
		for(int w=1;w<=7;w++)
		{
			cout<<a3<<" ";
			a3++;
		}
		cout<<"   ";
	}
	//6666666
	cout<<'\n';
	if(a1>31)
	{
		cout<<"                        ";
	}
	else
	{
		k=31-a1+1;
		k=7-k;
		while(a1<=31)
		{
		cout<<a1<<" ";
		a1++;
		}cout<<"   ";
	}
	if(a3>31)
	{
		cout<<"                        ";
	}
	else
	{
		k=31-a3+1;
		k=7-k;
		while(a3<=31)
		{
		cout<<a3<<" ";
		a3++;
		}cout<<"   ";
	}
	
	//1 2 3yue
	cout<<'\n';
	fuzhu();fuzhu();fuzhu();cout<<'\n';
	a1=1;a2=1;a3=1;
	x1=(x3+31)%7;
	x2=(x1+30)%7;
	x3=(x2+31)%7;
	//µÚÒ»ÐÐ 
	i=x1;if(i==0)i=7;
	//;
	for(--i;i>0;i--)cout<<"   ";
	i=x1;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a1<<" ";
		a1++;
	}
	i=x2;if(i==0)i=7;
	//;
	for(i;i>0;i--)cout<<"   ";
	i=x2;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a2<<" ";
		a2++;
	}
	i=x3;if(i==0)i=7;
	//;
	for(i;i>0;i--)cout<<"   ";
	i=x3;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a3<<" ";
		a3++;
	}
	//µÚ¶þÐÐ
	cout<<'\n';
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	} cout<<'\n';
	//µÚÈýÐÐ 
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚËÄÐÐ
	for(i=1;i<=7;i++)
	{
		cout<<a1<<" ";
		a1++;
	}
	cout<<"   ";
	for(i=1;i<=7;i++)
	{
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚÎåÐÐ
	k=30-a1+1;
	k=7-k;
	if(k>=0)
	{
		while(a1<=30)
	{
		cout<<a1<<" ";
		a1++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a1<<" ";
			a1++;
		}
		cout<<"   ";
	}
	
	k=31-a2+1;
	k=7-k;
	if(k>=0)
	{
		while(a2<=31)
	{
		cout<<a2<<" ";
		a2++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a2<<" ";
			a2++;
		}
		cout<<"   ";
	}
	
	k=30-a3+1;
	k=7-k;
	if(k>=0)
	{
		while(a3<=30)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a3<<" ";
			a3++;
		}
		cout<<"   ";
	}
	//6666666
	cout<<'\n';
	if(a1>30)
	{
		cout<<"                        ";
	}
	else
	{
		k=30-a1+1;
		k=7-k;
		while(a1<=30)
		{
		cout<<a1<<" ";
		a1++;
		}cout<<"   ";
	}
	if(a2>31)
	{
		cout<<"                        ";
	}
	else
	{
		k=31-a2+1;
		k=7-k;
		while(a2<=31)
		{
		cout<<a2<<" ";
		a2++;
		}cout<<"   ";
	}
	if(a3>30)
	{
		cout<<"                        ";
	}
	else
	{
		k=30-a3+1;
		k=7-k;
		while(a3<=30)
		{
		cout<<a3<<" ";
		a3++;
		}cout<<"   ";
	}
	//4 5 6yue
	
	 cout<<'\n';
	fuzhu();fuzhu();fuzhu();cout<<'\n';
	a1=1;a2=1;a3=1;
	x1=(x3+30)%7;
	x2=(x1+31)%7;
	x3=(x2+31)%7;
	//µÚÒ»ÐÐ 
	i=x1;if(i==0)i=7;
	//;
	for(--i;i>0;i--)cout<<"   ";
	i=x1;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a1<<" ";
		a1++;
	}
	i=x2;if(i==0)i=7;
	//;
	for(i;i>0;i--)cout<<"   ";
	i=x2;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a2<<" ";
		a2++;
	}
	i=x3;if(i==0)i=7;
	//;
	for(i;i>0;i--)cout<<"   ";
	i=x3;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a3<<" ";
		a3++;
	}
	cout<<'\n';
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	} cout<<'\n';
	//µÚÈýÐÐ 
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<<"   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚËÄÐÐ
	for(i=1;i<=7;i++)
	{
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚÎåÐÐ
	
	k=31-a1+1;
	k=7-k;
	if(k>=0)
	{
		while(a1<=31)
	{
		cout<<a1<<" ";
		a1++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a1<<" ";
			a1++;
		}
		cout<<"   ";
	}
	
	k=31-a2+1;
	k=7-k;
	if(k>=0)
	{
		while(a2<=31)
	{
		cout<<a2<<" ";
		a2++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a2<<" ";
			a2++;
		}
		cout<<"   ";
	}
	
	k=30-a3+1;
	k=7-k;
	if(k>=0)
	{
		while(a3<=30)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a3<<" ";
			a3++;
		}
		cout<<"   ";
	}
	cout<<'\n';
	if(a1>31)
	{
		cout<<"                        ";
	}
	else
	{
		k=31-a1+1;
		k=7-k;
		while(a1<=31)
		{
		cout<<a1<<" ";
		a1++;
		}cout<<"   ";
	}
	if(a2>31)
	{
		cout<<"                        ";
	}
	else
	{
		k=31-a2+1;
		k=7-k;
		while(a2<=31)
		{
		cout<<a2<<" ";
		a2++;
		}cout<<"   ";
	}
	if(a3>30)
	{
		cout<<"                        ";
	}
	else
	{
		k=30-a3+1;
		k=7-k;
		while(a3<=30)
		{
		cout<<a3<<" ";
		a3++;
		}cout<<"   ";
	}
	cout<<'\n';
	fuzhu();fuzhu();fuzhu();cout<<'\n';
	a1=1;a2=1;a3=1;
	x1=(x3+30)%7;
	x2=(x1+31)%7;
	x3=(x2+30)%7;
	//µÚÒ»ÐÐ 
	i=x1;if(i==0)i=7;
	//;
	for(--i;i>0;i--)cout<<"   ";
	i=x1;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a1<<" ";
		a1++;
	}
	i=x2;if(i==0)i=7;
	//;
	for(i;i>0;i--)cout<<"   ";
	i=x2;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a2<<" ";
		a2++;
	}
	i=x3;if(i==0)i=7;
	//;
	for(i;i>0;i--)cout<<"   ";
	i=x3;if(i==0)i=7;
	for(i;i<=7;i++)
	{
		cout<<" "<<a3<<" ";
		a3++;
	}
	cout<<'\n';
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	} cout<<'\n';
	//µÚÈýÐÐ 
	for(i=1;i<=7;i++)
	{
		if(a1<10)cout<<" ";
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		if(a2<10)cout<<" ";
		cout<<a2<<" ";
		a2++;
	} cout<<"   ";
	for(i=1;i<=7;i++)
	{
		if(a3<10)cout<<" ";
		cout<<a3<<" ";
		a3++;
	} cout<<'\n';
	//µÚËÄÐÐ
	for(i=1;i<=7;i++)
	{
		cout<<a1<<" ";
		a1++;
	}
	cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a2<<" ";
		a2++;
	} cout<< "   ";
	for(i=1;i<=7;i++)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<'\n';
	//µÚÎåÐÐ
	
	k=31-a1+1;
	k=7-k;
	if(k>=0)
	{
		while(a1<=31)
	{
		cout<<a1<<" ";
		a1++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a1<<" ";
			a1++;
		}
		cout<<"   ";
	}
	
	k=30-a2+1;
	k=7-k;
	if(k>=0)
	{
		while(a2<=30)
	{
		cout<<a2<<" ";
		a2++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a2<<" ";
			a2++;
		}
		cout<<"   ";
	}
	
	k=31-a3+1;
	k=7-k;
	if(k>=0)
	{
		while(a3<=31)
	{
		cout<<a3<<" ";
		a3++;
	}cout<<"   ";
	for(int u=1;u<=k;u++)
	{
		cout<<"   ";
	}
	}
	else
	{
		for(int w=1;w<=7;w++)
		{
			cout<<a3<<" ";
			a3++;
		}
		cout<<"   ";
	}
	cout<<'\n';
	if(a1>30)
	{
		cout<<"                        ";
	}
	else
	{
		k=30-a1+1;
		k=7-k;
		while(a1<=30)
		{
		cout<<a1<<" ";
		a1++;
		}cout<<"   ";
	}
	if(a2>30)
	{
		cout<<"                        ";
	}
	else
	{
		k=30-a2+1;
		k=7-k;
		while(a2<=30)
		{
		cout<<a2<<" ";
		a2++;
		}cout<<"   ";
	}
	if(a3>31)
	{
		cout<<"                        ";
	}
	else
	{
		k=31-a3+1;
		k=7-k;
		while(a3<=31)
		{
		cout<<a3<<" ";
		a3++;
		}cout<<"   ";
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值