C语言输入年份,输出一年12个月的日历

C语言输入年份,输出一年12个月的日历

C语言实例qingyu2022-02-18 1:58:441205A+A-

  实例说明:

  输入年份,输出一年12个月的日历

6.gif

  实例代码:

#include <stdio.h>
#include <stdlib.h>
int get_lst_weekday(int y) {
  int d;
  d = (((y - 1) * 365) + ((y - 1) / 4) - ((y - 1) / 100) + ((y) / 400) + 1) % 7;
  return d - 1;
}
int main() {
  system("color 3");
  int year, month, day, dayInMonth, weekDay = 0, startingDay;
  printf("Enter your desired year:");
  scanf("%d", &year);
  char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"};
  int monthDay[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  //润年的2月份为29天
  if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    monthDay[1] = 29;
  }
  startingDay = get_lst_weekday(year);
  for (month = 0; month < 12; month++) {
    dayInMonth = monthDay[month];
    printf("\n\n---------------%s-------------------\n", months[month]);
    printf("\n   Mon  Tue  Wed  Thurs Fri  Sat  Sun\n");
    for (weekDay = 0; weekDay < startingDay; weekDay++) {
      printf("     ");
    }
    for (day = 1; day <= dayInMonth; day++) {
      printf("%5d", day);
      if (++weekDay > 6) {
        printf("\n");
        weekDay = 0;
      }
      startingDay = weekDay;

    }
  }
  system("pause");
  return 0;
}
点击这里复制本文地址 欢迎来到大黄鸡源码分享网
qrcode

大黄鸡源码编程网 © All Rights Reserved.  
网站备案号:闽ICP备18012015号-4
Powered by Z-BlogPHP
联系我们| 关于我们| 广告联系| 网站管理