Онлайн компилятор C

#include <stdio.h> int main() { int a; scanf("%d", &a); if (3 <= a && a <= 5) printf("spring"); if (6 <= a && a <= 8) printf("summer"); if (9 <= a && a <= 11) printf("autumn"); if (12 <= a && a <= 2) printf("winter"); return 0; }
这段代码试图根据输入的数字(1-12)输出对应的季节。但逻辑上有问题:最后一个条件 `12 <= a && a <= 2` 永远不可能成立,因为没有任何数字同时大于等于12且小于等于2。

- 注意数字12应该属于冬季,但你的条件写法无法正确判断跨月份的情况(比如12月到2月)。
- 思考如何用逻辑运算符(如 `||`)来处理冬季这种跨年份的月份范围。