正文

万年历---用C写的2008-08-04 11:27:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/37351.html

分享到:


#include<dos.h>
#include<stdio.h>
main()
{
int year,month;
printf("please input the year\n");
scanf("%d",&year);
printf("please input the month");
scanf("%d",&month);
calendar(year,month);
}

int leap(year)
int year;
{
int leap=0;
if(year/100==0&&year/400==0) leap=1;
if(year/100==0&&year/4==0) leap=1;
return(leap);
}

  int get_days(year,month,date)
   int year,month,date;
   {
    int i;
    int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int sum=0;
    if(leap(year)) m[2]=29;
    for(i=1;i<month;i++)
     sum+=m[i];
     sum+=date;
     return(sum);
     }


  int get_week(year,month,date)
   int year,month,date;
   {
    int week;
     week=(year-1)+(year-1)/100-(year-1)/400+(year-1)/1000;
     week+=get_days(year,month,date);
     week%=7;
     return(week);
     }
  calendar(year,month)
  int year,month;
  {
   int i,j;
   int line=13;
   int m[]={0,31,28,31,30,31,30,31,31,30,31,30,31};

    if(leap(year)) m[2]=29;
    printf("%d.%d\n",year,month);
    printf("****************************\n");
    printf("SUN MON TUE WEN THU FRI SAT\n");
    for(j=1;j<=get_week(year,month,1)*4;j++)
      printf(" ");
    for(i=1;i<=m[month];i++)
     {
      printf("%d",i);
      if(i>=10)
      printf("  ");
      else
      printf("   ");
      if(get_week(year,month,i)==6)
      printf("\n");
      }
      printf("\n****************************\n");
    }

阅读(1905) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册