设为首页 加入收藏

TOP

C语言万年历代码
2014-04-07 00:36:33 】 浏览:195
Tags:语言 万年历 代码

      我们还是直接来讲述C语言万年历代码:

  #include

  main()

  {

  void print_head(int x,int y); /*打印头文件*/

  void print_month(int x,int y); /*打印月历*/

  int days_of_month(int x,int y); /*计算指定年月的天数*/

  int leap(int x,int y); /*计算指定年月1号是星期几*/

  int i,days,year,month,firstday;

  char choose;

  do

  {printf ("\n\nplease input the year(0000~9999):\n\n");

  scanf ("%d",&year);

  if (year<0||year>9999) printf ("WANNING:ERROR,please input again!");}

  while (year<0||year>9999);

  printf ("\n\n");

  do

  {printf ("please input the month(0~12)\n\n\n");

  scanf ("%d",&month);

  if (month<=0||month>12) printf ("WANNING:ERROR,please input again!");}

  while (month<=0||month>12);

  printf ("\n\n");

  days=days_of_month(year,month); /*调用函数*/

  firstday=leap(year,month);

  print_head(year,month);

  print_month(firstday,days);

  choose=getchar();

  printf ("\n\n\n");

  printf("would you like to continue(y/n):\n\n");

  scanf("%c",&choose);

  if (choose=='y'||choose=='Y') main();

  }

  days_of_month(int x,int y)

  {

  int z;

  switch (y)

  {case 1:

  case 3:

  case 5:

  case 7:

  case 8:

  case 10:

  case 12: z=31;break;

  case 4:

  case 6:

  case 9:

  case 11: z=30;break;

  case 2:

  {if ((x%4==0&&x%100!=0)||(x%400==0)) z=29;

  else z=28;break;

  }

  }

  return z;

  }

  leap(int x,int y)

  {

  int z,i,moday;

  z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;

  for (i=1;i< p>

  {moday=days_of_month(x,i); /*钳套调用函数*/

  z=(z+moday)%7;

  }

  return z;

  }

  void print_head(int x,int y)

  {

  printf ("\n\n********************************************************************************\n\n");

  printf ("\t\t\t\t%d %d\n\n",x,y);

  printf ("\t\t\t SUN MON TUE WED THU FRI SAT\n");

  printf ("\t\t\t");

  }

  void print_month(int x,int y)

  {

  int i;

  char space[7]={' '};

  for (i=1;i<=x;i++)

  printf ("%4c",space[i]);

  for (i=1;i<=y;i++)

  {if ((i+x)%7==1) printf ("\n\t\t\t%4d",i);

  else printf ("%4d",i);}

  printf ("\n\n********************************************************************************\n\n");

  }

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C语言内存分配函数malloc、calloc.. 下一篇关于C语言字符串函数的思考

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目