本题需要用if-else语句判断上课周和放假:输入1-12范围的数字表示月份(month),若输入的月份是9-12和1时,输出“本学年上学期”;若输入的月份为2时,则输出“寒假!”;若输入的月份为3-6时,则输出“本学年下学期”;若输入的月份为7-8时,则输出“暑假!”;若输入的月份是其他数值或字符时,则输出“请输入1-12范围的整数!”。
输入格式:
输入1-12范围的整数。
输出格式:
对每一个输入,在一行中输出对应的结果。
输入样例:
在这里给出一组输入。例如:
1
输出样例:
在这里给出相应的输出。例如:
本学年上学期
#include <stdio.h>
int main() {
int month;
scanf("%d", &month);
if (month >= 1 && month <= 12) {
if (month >= 9 && month <= 12 || month == 1) {
printf("本学年上学期\n");
} else if (month == 2) {
printf("寒假!\n");
} else if (month >= 3 && month <= 6) {
printf("本学年下学期\n");
} else if (month >= 7 && month <= 8) {
printf("暑假!\n");
}
} else {
printf("请输入1-12范围的整数!\n");
}
return 0;
}
这个C程序的设计是根据输入的月份确定学期或假期的程序。以下是设计和总结的详细说明:
### 设计:
1. **输入:**
- 程序首先声明一个整数变量 `month` 用于存储用户输入的月份。
- 使用 `scanf` 获取用户输入。
```c
int month;
scanf("%d", &month);
```
2. **验证:**
- 检查输入的月份是否在有效范围内(1-12)。
```c
if (month >= 1 && month <= 12) {
```
3. **学期确定:**
- 如果月份在9(九月)到12(十二月)之间,或者是1(一月),则打印"本学年上学期"。
```c
if (month >= 9 && month <= 12 || month == 1) {
printf("本学年上学期\n");
```
- 如果月份是2(二月),则打印"寒假!"
```c
} else if (month == 2) {
printf("寒假!\n");
```
- 如果月份在3(三月)到6(六月)之间,则打印"本学年下学期"。
```c
} else if (month >= 3 && month <= 6) {
printf("本学年下学期\n");
```
- 如果月份在7(七月)到8(八月)之间,则打印"暑假!"。
```c
} else if (month >= 7 && month <= 8) {
printf("暑假!\n");
```
4. **无效输入:**
- 如果输入的月份不在有效范围内,打印错误消息。
```c
} else {
printf("请输入1-12范围的整数!\n");
```
5. **返回:**
- 程序返回0,表示执行成功。
```c
return 0;
```
### 总结:
- 程序接受用户输入的月份。
- 对输入进行验证,确保其在1到12的范围内。
- 根据输入的月份确定并打印相应的学期或假期。
- 如果输入超出有效范围,打印错误消息。
- 代码使用嵌套的if-else语句进行组织,以提高代码的清晰度和可读性。
- 该程序处理了不同情景,例如特定月份对应的学期和假期,并为无效输入提供了明确的提示。
这个程序是C语言中决策结构的简单示例,演示了如何使用if-else语句根据不同条件进行分支。