求一个万年历C语言程序源码

万年历程序
功能要求:
(1)月历查询:输入年份和月份,显示该月的月历。
(2)闰年查询:输入年份,输出该年是否是闰年。

我这里有核心代码(全部代码早就不知道丢那了又懒得写,大部分功能都在这里了

  /* 计算当前年份1月1日星期几?*/
  y_days=0; /* 从2000年1月1日算起到当年1月1日前经历的天数*/
  for(i=2000;i<year;i++)
      if (i%4==0 && i%100!=0 || i%400==0)  y_days=y_days+366;   /* 闰年366天 */
      else y_days=y_days+365;                               /* 平年365 天 */
  weekday=(weekday+y_days)%7;   /* 当年1月1日,星期几?*/

  for (month =1;month<=12;month++)   /* 逐月打印日历 */
  {  printf ("\n\n\t %d-%d\n\n",year,month);
     printf ("   MON  TUES WEDN THUR FRI  SAT  SUN  \n\n");
     /* 给出当月的天数 */
     switch (month)
     {case 1: case 3:  case 5:  case 7:  case 8:  case 10:  
      case 12:  days=31;break;
      case 4: case 6:  case 9:  case 11: days=30; break;
      case 2: if (year%4==0 && year%100!=0 || year%400==0) days=29;
              else days=28;
     }


     for(i=1;i<weekday;i++) printf("     ");  /* 每个月第1周的前导空格 */

    for(i=1;i<=days;i++,weekday++)
      { printf("%5d",i);
        if (weekday%7==0)
           { putchar('\n');
             weekday=weekday%7;} /* weekday=1—7 */
      }
    printf("\n");
    getch();
  }
  getch();
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-25
你好!是dos下的程序吗?时钟是指针式的还是数字式的?追问

是dos下的,时钟是?

类似这样的

相似回答