21xrx.com
2024-11-05 22:01:52 Tuesday
登录
文章检索 我的文章 写文章
万年历程序的C语言代码及解析
2023-06-15 17:22:08 深夜i     --     --

在计算机编程的世界里,万年历程序可能是最简单、最基础的一个示例程序。这个小程序使用C语言编写,可以帮助我们在控制台上输出指定年月的日历。

下面就来看看这个C语言万年历程序的代码和解析吧:


#include

int main() {

  int year, month, day, week;

  int days[] = 30;

  char *weeks[] = "Sun";

  printf("Please input the year, month: ");

  scanf("%d,%d", &year, &month);

  day = 1; // 从每月的1号开始计算

  week =(day + month + (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400) % 7;

  // 判断是否是闰年,如果是闰年,则二月份有29天

  if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

    days[1] = 29;

  }

  printf("   %d 年 %2d 月\n", year, month);

  printf(" 日 一 二 三 四 五 六\n");

  // 输出万年历

  for(int i = 0; i < week; i++) {

    printf("  ");

  }

  for(int i = 0; i < days[month - 1]; i++) {

    printf("%2d ", i + 1);

    week++;

    if(week == 7) {

      printf("\n");

      week =0;

    }

  }

  if(week != 7) {

    printf("\n");

  }

  return 0;

}

这个万年历程序使用了一些基本的C语言语法,如变量和数组的定义、循环、条件判断等。下面简单解析一下代码逻辑:

- 定义了4个变量,year(年份)、month(月份)、day(日期)和week(星期几);

- 定义了一个长度为12的数组days,用来存储每个月的天数;

- 定义了一个长度为7的字符串数组weeks,用来存储星期几的名称;

- 使用scanf函数从控制台读入输入的年份和月份;

- 根据输入的年份和月份,计算出本月1号是星期几;

- 判断闰年,如果是闰年,则将2月份的天数改为29天;

- 输出万年历,依次输出每个日期和相应的星期几。

根据这个万年历程序的代码和解析,可以提取出一些关键词,如C语言、万年历、计算机编程、基础示例程序、控制台、变量、数组、循环、条件判断、函数等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复