#include<stdio.h>
#include<stdlib.h>
int lastDay;
int isYear;
int column=0;//没行的天数,应该为7天;
char aa[27]={'M','o','n',' ','T','u','e',' ','W','e','d',' ','T','h','u',' ','F','r','i',' ','S','a','t',' ','S','u','n'};
int k=0;
int k2;
int count=0;//每周的天数;
int bb[36][40];
int judgeYear(int a);
int dayNum(int year,int month);
void details(int year ,int month,int day);
void print(int year,int month,int day);
//声明函数;年
void main()
{
printf("查询的范围是2010年1月1日到2012年12月31日");
details(2010,1,1);
int m,n;
for(int i=0;i<24;i++)
{
scanf("%d%d",&m,&n);
printf("查询的是:%d 年%d月\n\n",m,n);
print(m,n,1);
}
}
int judgeYear(int a)
{
if(((a%4==0)&&(a%100!=0))||(a%400==0))
return isYear=0;
else
return isYear=1;
}
int dayNum(int year,int month)
{
if(month==2)
{
if(judgeYear(year)==0)
return 29;
else return 28;
}
else {
switch(month)
{
case 1: return 31;break;
case 3: return 31;break;
case 4: return 30;break;
case 5: return 31;break;
case 6: return 30;break;
case 7: return 31;break;
case 8: return 31;break;
case 9: return 30;break;
case 10: return 31;break;
case 11: return 30;break;
default: return 31;
}
}
}
void details(int year ,int month,int day)
{
int column3;
bool change = false;//下个月标记;
int i,j;
//bool lastNumber = false;
for( i=0;i<36;i++)
for( j=0;j<40;j++)
{
if(i==0&&(j<4))
{
if(j<4)
{
bb[i][j]=0;
column++;
}
if(column==8)
column=1;
}
else if(change&&(column<7))
{
column3=column;
while(column3>0)
{
bb[i][j++]=0;
column3--;
change=false;
}
j=j-1;
continue;
}
else if(change&&(column==7))
{
change = false;
bb[i][j] = ++k;
column++;
if(column==8)
column=1;
}
else
{
bb[i][j] = ++k;
column++;
if(column==8)
column=1;
}
if(column==8)
column=1;
if(i>=24&&i<36)
{
month = i-24+1;
year=2012;
}
else if(i>11&&i<24)
{
month = i-12+1;
year=2011;
}
else
{
month = i+1;
year=2010;
}
if((k==29)&&(month==2))
printf("%d\n",column);
if(dayNum(year,month)==k)
{
k=0 ; //天数归零;
change=true;
break;
}
}
}
void print(int year,int month,int day)
{
int i;
printf(" %d年 ",year);
printf("%d月\n",month);
for(int m=0;m<27;m++)
printf("%c",aa[m]);
printf("\n");
if(year==2010)
i = month-1;
else if(year==2011)
i=month-1+12;
else if(year==2012)
i=month-1+12+12;
int col=0;
for(int j=0;j<40;j++)
{
int number;
number = bb[i][j];
// if(j==1)
//printf("%d日",bb[3][1]);
if(number==0)
{
printf(" ");
col++;
}
else if(number>0)
{
if(number<=9)
printf("%d ",number);
else
printf("%d ",number);
col++;
}
if(col==7)
{
col=0;
printf("\n");
}
if(dayNum(year,month)==number)
{
printf("\n");
printf("\n");
break;
}
}
}
#include<stdlib.h>
int lastDay;
int isYear;
int column=0;//没行的天数,应该为7天;
char aa[27]={'M','o','n',' ','T','u','e',' ','W','e','d',' ','T','h','u',' ','F','r','i',' ','S','a','t',' ','S','u','n'};
int k=0;
int k2;
int count=0;//每周的天数;
int bb[36][40];
int judgeYear(int a);
int dayNum(int year,int month);
void details(int year ,int month,int day);
void print(int year,int month,int day);
//声明函数;年
void main()
{
printf("查询的范围是2010年1月1日到2012年12月31日");
details(2010,1,1);
int m,n;
for(int i=0;i<24;i++)
{
scanf("%d%d",&m,&n);
printf("查询的是:%d 年%d月\n\n",m,n);
print(m,n,1);
}
}
int judgeYear(int a)
{
if(((a%4==0)&&(a%100!=0))||(a%400==0))
return isYear=0;
else
return isYear=1;
}
int dayNum(int year,int month)
{
if(month==2)
{
if(judgeYear(year)==0)
return 29;
else return 28;
}
else {
switch(month)
{
case 1: return 31;break;
case 3: return 31;break;
case 4: return 30;break;
case 5: return 31;break;
case 6: return 30;break;
case 7: return 31;break;
case 8: return 31;break;
case 9: return 30;break;
case 10: return 31;break;
case 11: return 30;break;
default: return 31;
}
}
}
void details(int year ,int month,int day)
{
int column3;
bool change = false;//下个月标记;
int i,j;
//bool lastNumber = false;
for( i=0;i<36;i++)
for( j=0;j<40;j++)
{
if(i==0&&(j<4))
{
if(j<4)
{
bb[i][j]=0;
column++;
}
if(column==8)
column=1;
}
else if(change&&(column<7))
{
column3=column;
while(column3>0)
{
bb[i][j++]=0;
column3--;
change=false;
}
j=j-1;
continue;
}
else if(change&&(column==7))
{
change = false;
bb[i][j] = ++k;
column++;
if(column==8)
column=1;
}
else
{
bb[i][j] = ++k;
column++;
if(column==8)
column=1;
}
if(column==8)
column=1;
if(i>=24&&i<36)
{
month = i-24+1;
year=2012;
}
else if(i>11&&i<24)
{
month = i-12+1;
year=2011;
}
else
{
month = i+1;
year=2010;
}
if((k==29)&&(month==2))
printf("%d\n",column);
if(dayNum(year,month)==k)
{
k=0 ; //天数归零;
change=true;
break;
}
}
}
void print(int year,int month,int day)
{
int i;
printf(" %d年 ",year);
printf("%d月\n",month);
for(int m=0;m<27;m++)
printf("%c",aa[m]);
printf("\n");
if(year==2010)
i = month-1;
else if(year==2011)
i=month-1+12;
else if(year==2012)
i=month-1+12+12;
int col=0;
for(int j=0;j<40;j++)
{
int number;
number = bb[i][j];
// if(j==1)
//printf("%d日",bb[3][1]);
if(number==0)
{
printf(" ");
col++;
}
else if(number>0)
{
if(number<=9)
printf("%d ",number);
else
printf("%d ",number);
col++;
}
if(col==7)
{
col=0;
printf("\n");
}
if(dayNum(year,month)==number)
{
printf("\n");
printf("\n");
break;
}
}
}