编写C语言程序,根据键盘输入的整数月份,显示如下这样一句话:3/4/5:3/4/5月是春季6/7/8:6/7/8月是夏季9/10/11:9/10/11月是秋季12/1/2:12/1/2月是冬季 其他输入: X 月不存在(其中 X 代表输入的月份数值)并将其封装为一个函数
时间: 2024-10-10 07:12:52 浏览: 25
为了将这个功能封装成一个函数,我们可以创建一个名为`display_season`的函数,接受一个整数参数`month`作为输入。下面是完整的C代码示例:
```c
#include <stdio.h>
#include <string.h> // 引入字符串库,用于拼接错误信息
void display_season(int month) {
const int seasons[4][3] = {
{3, 4, 5}, // 春季
{6, 7, 8}, // 夏季
{9, 10, 11}, // 秋季
{12, 1, 2} // 冬季
};
char season_name[50];
strcpy(season_name, "X 月"); // 初始化错误消息
for (int i = 0; i < 4; i++) {
if (month >= seasons[i][0] && month <= seasons[i][2]) {
snprintf(season_name, sizeof(season_name), "%d/%d/%d:%d/%d/%d月是%s", seasons[i][0], seasons[i][1], seasons[i][2], seasons[i][0], seasons[i][1], seasons[i][2], "春季");
break; // 找到匹配的季节后停止循环
}
}
printf("%s\n", season_name);
}
int main() {
int input_month;
printf("请输入月份(1-12): ");
scanf("%d", &input_month);
display_season(input_month);
return 0;
}
```
这个`display_season`函数遍历季节数组,找到匹配的月份范围,并更新`season_name`变量的内容。如果输入的月份不在任何季节内,函数会显示默认的“X 月不存在”。
阅读全文