#include
#include
#include
#include
#include
using namespace std;
int mmday(int yy,int mm){//返回该年月份的天数
switch(mm){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
return 31;
break;
case 4: case 6: case 9: case 11:
return 30;
break;
case 2:
if ((yy % 4 == 0 && yy % 100 != 0) || (yy % 400 == 0))
{ return 29; }
else { return 28; }
break;
default: return 0 ;
}
}
int countweek(int yy,int mm,int dd){
if (yy < 1900 || yy>2100) {
cout << "输入的日期不正确"; return -1;}
else {
int day_org = 0;
int day_pass=dd;
day_org=((yy-1)*365+(yy-1)/4-(yy-1)/100+(yy-1)/400)%7 ;
for (int j = 1; j < mm; j++)
{
switch (j){ case 1: case 3: case 5: case 7: case 8: case 10: case 12:
day_pass += 31;
break; case 4: case 6: case 9: case 11:
day_pass+= 30;
break;
case 2:
if ((yy % 4 == 0 && yy % 100 != 0) || (yy % 400 == 0))
{ day_pass += 29; }
else { day_pass += 28; }
break;
default: cout << "error" << endl; break; }
}
return (day_pass + day_org) % 7; //0代表周日
}
}
int main(){
int mm,yy,dd,day=1,row=1,col=1;//6行7列
cin>>yy>>mm;
dd=mmday(yy,mm);//总天数
cout<
if(i==0)//对第一行的操作
{
for(int k=0;kcout<
for(int j=0;j<7;j++)//对其他5行的处理
{ if(day>31)
{break;}
countweek(yy,mm,day);
cout<