难度不大,就是一个思路问题
定义一个数组,这个可以不是全局数组,存储每个月份的名字
char mo[12][10]={"Januray ","February","March ","April",
"May ","June","July ","August","Septmber",
"October","November","December"} ;
只要在打印这个子函数中就可以
定义一个全局数组
int c[12]={31,29,31,30,31,30,31,31,30,31,30,31} ;
这个存储每个月的天数,用
if(ye%4==0||(ye%400==0&&ye%100!=0))
c[1]=29;
else
c[1]=28;
来改变二月份的天数
接下来算每年的第一天是周几
int nian(int year)
{
int y=year%400;
int day=y;
int i;
for(i=1;i
day+=1 ;
return day%7;
}
这个返回值就是每年第一天是周几
屏幕打印就可以了
void pr1(int k)
{
int i,j,l;
for(i=0;i<12;i++)
{
printf(" %s\n",mo[i]);
printf(" Sun Mon Tue Wed Thu Fri Sat \n") ;
for(i=1;i
for(i=1;i<=c[i];i++)
{
printf(" %2d ",i);
if((k+i)%7==0)
printf("\n");
}
k=(k+c[i])%7
}
}
指的是农历还是直接新历就可以了?
如果是新历,可以看我的老贴:
http://zhidao.baidu.com/question/195084859.html?an=0&si=1
最下面有样板,可以看一下。