- 15
- 0
- 约4.04千字
- 约 5页
- 2016-09-10 发布于天津
- 举报
用C语言编写万年历,详细代码.doc
/* welcome to use the WanNianLi system! */
#includestdio.h
#includestdlib.h
#includetime.h
char* month_str[]={January,February,March,April,May,June,July,August,September,October,November,December};
char* week[]={Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};
int leap (int year)//判断闰年
{
if(year%4==0year%100!=0||year%400==0)
return 1;
else return 0;
}
int month_day(int year,int month) //判断这一个月有多少天
{
int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}; //初始化每个月的天数
if(leap(year)month==2 )
return 29;
else
return(mon_day[month-1]);
}
int firstday(int year,int month,int day)//判断这一个月的第一天是星期几
{
int c=0;
float s;
int m;
for(m=1;mmonth;m++)
c=c+month_day(year,m);
c=c+day;
s=year-1+(float)(year-1)/4+(float)(year-1)/100+(float)(year-1)/400-40+c;
return ((int)s%7);
}
int PrintAllYear(int year)/*print the all year*/
{
int a,b;
int i,j=1,n=1,k;
printf(\n\n**************%d年的挂历**************\n,year);
for(k=1;k=12;k++)
{
j=1,n=1;
b=month_day(year,k);
a=firstday(year,k,1);
printf(\n\n%s(%d)\n,month_str[k-1],k);
printf( Sun Mon Tue Wed Thu Fri Sat \n**************);
if(a==7)
{
for(i=1;i=b;i++)
{
printf(%4d,i);
if(i%7==0)
{
printf(**************\n**************);
}
}
}
if(a!=7)
{
while (j=4*a)
{
printf( );
j++;
}
for(i=1;i=b;i++)
{
printf(%4d,i);
if(i==7*n-a)
{
printf(**************\n**************);
n++;
}
}
}
printf(**************\n);
}
return 1;
}
//****************************************************
int main()
{
int option,da;
char ch;
int year,month,day;
printf(Copyright @ 2005 TianQian All rights reserved!:):):));
printf(\n\nWelcome to use the WanNianLi system!\n);
//调用系统时间
time_t tval;
struct tm *now;
tval = time(NULL);
now = localtime(tval);
printf(现在时间: %4d年 %d月 %02d日 %d:%02d:%02d\n, now-tm_year+1900, now-tm_mon+1, now-tm_mday,now-tm_hour, now-tm_min, now-
原创力文档

文档评论(0)