用c语言输入一个表示月份的整数,判断它是大月还是小月。如果是大月,输出solar month;如果是小月,输出lunar month; 如果输入数据不合法, 则输出error。设定2月、4月、6月、9月、11月为小月,其他月份为大月。
时间: 2024-10-25 11:03:36 浏览: 49
在C语言中,你可以通过以下步骤来实现这个功能:
```c
#include <stdio.h>
int main() {
int month;
printf("请输入一个表示月份的整数: ");
scanf("%d", &month);
if (month == 2) { // 特殊处理2月
printf(month == 29 ? "error" : "lunar month");
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
printf("lunar month");
} else if (month >= 1 && month <= 12) {
printf(month > 7 || month % 2 != 0 ? "solar month" : "lunar month"); // 其他月份除2月外,奇数月份为大月,偶数月份(非二月)为小月
} else {
printf("error"); // 输入的数据不在1-12之间
}
return 0;
}
```
在这个程序中,我们首先从用户那里获取月份输入,然后检查它是否等于2,如果是2月,则特殊处理闰年的29天情况。接着,如果月份在4、6、9或11这几个月份列表内,就输出"lunar month"。对于剩余的月份,我们判断它们是否大于7(因为7到12都是大月),或是否为偶数(除了二月)。如果输入数据不在1到12的范围内,就输出"error"。
阅读全文