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

#include <stdio.h> int main() { int a; scanf("%d", &a); if (a >= 2 && a <= 4) printf("spring"); if (a >= 5 && a <= 7) printf("summer"); if (a >= 8 && a <= 10) printf("autumn"); if (a == 1 || a == 2 || a == 12) printf("winter"); return 0;
这段代码根据输入的数字输出对应的季节:2-4月是春天,5-7月是夏天,8-10月是秋天,1、2、12月是冬天。但代码有一个逻辑问题。

- 当输入数字2时,会同时匹配春天和冬天的条件,导致输出"springwinter"。
- 注意条件覆盖的范围是否有重叠,特别是数字2同时出现在春天和冬天的判断中。