“现在我们的魔法门变得更神奇了!”我在黑板上画出了多个门,”它不再只有两个选择,而是可以根据不同的条件,选择不同的房间。”
“比如说,”我继续解释,”如果你考了95分以上,就能进入’优秀奖励屋’;如果考了80分以上,就能进入’进步奖励屋’;如果考了60分以上,就能进入’鼓励屋’。”
小朋友们的眼睛都亮了起来,这个比喻让他们很容易理解了多分支结构。
##### 🔬 实验八A:成绩等级评定
题目描述:
编写一个成绩等级评定程序。根据输入的分数,将其划分为不同等级:90分及以上为优秀,80-89分为良好,60-79分为及格,60分以下为不及格。这个程序展示了多分支结构在成绩评定中的应用。
输入格式:
一个整数score,表示考试分数
输出格式:
一行字符串,表示对应的成绩等级
数据范围:
0 ≤ score ≤ 100
样例输入1:
“`
95
“`
样例输出1:
“`
优秀
“`
样例输入2:
“`
85
“`
样例输出2:
“`
良好
“`
样例输入3:
“`
55
“`
样例输出3:
“`
需要努力
“`
解题思路:
1. 使用if-else if结构处理多个分数区间
2. 从高分到低分依次判断
3. 注意分数区间的边界条件
4. 验证输入分数的有效性
代码实现:
“`cpp
#include
using namespace std;
int main() {
int score; // 存储考试分数
// 提示用户输入并获取分数
cout << "请输入你的分数:";
cin >> score;
// 检查分数是否在有效范围内
if(score < 0 || score > 100) {
cout << "无效的分数!" << endl;
return 1; // 异常退出
}
// 使用多分支结构评定等级
if(score >= 90) {
cout << "优秀" << endl; // 90分及以上
} else if(score >= 80) {
cout << "良好" << endl; // 80-89分
} else if(score >= 60) {
cout << "及格" << endl; // 60-79分
} else {
cout << "需要努力" << endl; // 60分以下
}
return 0;
}
```
代码说明:
1. 使用if-else if结构实现多分支
2. 分数判断从高到低排列
3. 添加了分数有效性检查
4. 使用恰当的提示信息
注意事项:
1. 分数必须是0-100的整数
2. 判断条件的顺序很重要
3. 分数区间边界值的归属
4. 提示信息要积极正面
##### 🔬 实验八B:年龄段判断
题目描述:
编写一个程序,根据输入的年龄判断属于哪个年龄段。划分标准为:18岁及以上为成年人,13-17岁为青少年,7-12岁为儿童,6岁及以下为幼儿。这个程序展示了如何使用多分支结构处理年龄分类问题。
输入格式:
一个整数age,表示年龄
输出格式:
一行字符串,表示对应的年龄段类别
数据范围:
0 ≤ age ≤ 150
样例输入1:
```
20
```
样例输出1:
```
成年人
```
样例输入2:
```
15
```
样例输出2:
```
青少年
```
样例输入3:
```
5
```
样例输出3:
```
幼儿
```
解题思路:
1. 使用if-else if结构处理不同年龄段
2. 从大到小依次判断年龄范围
3. 注意年龄段的边界划分
4. 验证输入年龄的合理性
代码实现:
```cpp
#include
using namespace std;
int main() {
int age; // 存储年龄
// 提示用户输入并获取年龄
cout << "请输入年龄:";
cin >> age;
// 检查年龄是否在合理范围内
if(age < 0 || age > 150) {
cout << "无效的年龄!" << endl;
return 1; // 异常退出
}
// 使用多分支结构判断年龄段
if(age >= 18) {
cout << "成年人" << endl; // 18岁及以上
} else if(age >= 13) {
cout << "青少年" << endl; // 13-17岁
} else if(age >= 7) {
cout << "儿童" << endl; // 7-12岁
} else {
cout << "幼儿" << endl; // 6岁及以下
}
return 0;
}
```
代码说明:
1. 使用if-else if实现多级年龄判断
2. 年龄判断从大到小排列
3. 添加了年龄合理性检查
4. 使用简洁明了的分类名称
注意事项:
1. 年龄必须是非负整数
2. 判断条件的顺序很重要
3. 年龄段边界值的归属
4. 考虑年龄上限的合理性
##### 🔬 实验八C:季节判断系统
题目描述:
编写一个程序,根据输入的月份(1-12)判断属于哪个季节。规定:3-5月为春天,6-8月为夏天,9-11月为秋天,12、1、2月为冬天。这个程序展示了如何使用多分支结构处理不连续的月份区间。
输入格式:
一个整数month,表示月份
输出格式:
一行字符串,表示对应的季节。如果输入无效,输出错误提示。
数据范围:
1 ≤ month ≤ 12
样例输入1:
```
3
```
样例输出1:
```
春天
```
样例输入2:
```
12
```
样例输出2:
```
冬天
```
样例输入3:
```
13
```
样例输出3:
```
月份输入错误
```
解题思路:
1. 使用if-else if结构处理四个季节
2. 使用逻辑运算符处理冬季的特殊情况
3. 注意月份的有效性验证
4. 使用清晰的季节划分标准
代码实现:
```cpp
#include
using namespace std;
int main() {
int month; // 存储月份
// 提示用户输入并获取月份
cout << "请输入月份(1-12):";
cin >> month;
// 使用多分支判断季节
if(month >= 3 && month <= 5) {
cout << "春天" << endl; // 3-5月
} else if(month >= 6 && month <= 8) {
cout << "夏天" << endl; // 6-8月
} else if(month >= 9 && month <= 11) {
cout << "秋天" << endl; // 9-11月
} else if(month == 12 || month == 1 || month == 2) {
cout << "冬天" << endl; // 12、1、2月
} else {
cout << "月份输入错误" << endl; // 无效输入
}
return 0;
}
```
代码说明:
1. 使用if-else if结构处理多种情况
2. 使用逻辑运算符&&和||组合条件
3. 最后用else处理无效输入
4. 注意冬季月份的特殊处理
注意事项:
1. 月份必须是1-12的整数
2. 冬季月份不连续需要特别处理
3. 使用逻辑运算符简化判断
4. 需要处理无效输入情况
##### 🔬 实验八D:游乐园票价计算
题目描述:
编写一个游乐园票价计算程序。根据游客年龄确定票价:6岁以下免票,6-12岁购买儿童票(50元),13-60岁购买成人票(100元),60岁以上购买老年票(60元)。这个程序展示了多分支结构在实际票务系统中的应用。
输入格式:
一个整数age,表示游客年龄
输出格式:
一行字符串,说明对应的票价类型和金额
数据范围:
0 ≤ age ≤ 150
样例输入1:
```
4
```
样例输出1:
```
免票
```
样例输入2:
```
25
```
样例输出2:
```
成人票:100元
```
样例输入3:
```
65
```
样例输出3:
```
老年票:60元
```
解题思路:
1. 使用if-else if结构处理不同年龄段
2. 从小到大依次判断年龄范围
3. 为每种票价类型提供明确的价格
4. 验证年龄输入的有效性
代码实现:
```cpp
#include
using namespace std;
int main() {
int age; // 存储游客年龄
// 提示用户输入并获取年龄
cout << "请输入年龄:";
cin >> age;
// 检查年龄是否在有效范围内
if(age < 0 || age > 150) {
cout << "无效的年龄!" << endl;
return 1; // 异常退出
}
// 使用多分支结构计算票价
if(age < 6) {
cout << "免票" << endl; // 6岁以下
} else if(age <= 12) {
cout << "儿童票:50元" << endl; // 6-12岁
} else if(age <= 60) {
cout << "成人票:100元" << endl; // 13-60岁
} else {
cout << "老年票:60元" << endl; // 60岁以上
}
return 0;
}
```
代码说明:
1. 使用if-else if结构实现多级票价
2. 年龄判断从小到大排列
3. 添加了年龄有效性检查
4. 清晰显示票价类型和金额
注意事项:
1. 年龄必须是非负整数
2. 注意年龄段的边界划分
3. 票价信息要清晰完整
4. 考虑特殊年龄的处理
##### 🔬 实验八E:BMI指数判断
题目描述:
编写一个BMI(身体质量指数)计算和判断程序。程序接收用户输入的体重(千克)和身高(米),计算BMI值并判断身体状况。BMI = 体重/身高²,判断标准:
- BMI < 18.5:体重偏轻
- 18.5 ≤ BMI < 24:体重正常
- 24 ≤ BMI < 28:体重偏重
- BMI ≥ 28:肥胖
输入格式:
两个浮点数:weight(体重)和height(身高)
输出格式:
两行文本:
第一行显示计算出的BMI值
第二行显示身体状况判断结果
数据范围:
20.0 ≤ weight ≤ 200.0
1.0 ≤ height ≤ 2.5
样例输入1:
```
65 1.75
```
样例输出1:
```
你的BMI是:21.22
体重正常
```
样例输入2:
```
80 1.70
```
样例输出2:
```
你的BMI是:27.68
体重偏重
```
解题思路:
1. 计算BMI值并保留两位小数
2. 使用if-else if结构进行多级判断
3. 注意输入数据的有效性验证
4. BMI值的区间判断要准确
代码实现:
```cpp
#include
#include
using namespace std;
int main() {
double weight, height, bmi; // 存储体重、身高和BMI值
// 提示用户输入并获取数据
cout << "请输入体重(kg)和身高(m):";
cin >> weight >> height;
// 检查输入数据是否在合理范围内
if(weight < 20 || weight > 200 || height < 1.0 || height > 2.5) {
cout << "输入数据超出合理范围!" << endl;
return 1; // 异常退出
}
// 计算BMI值
bmi = weight / (height * height);
// 输出BMI值,保留两位小数
cout << "你的BMI是:" << fixed << setprecision(2) << bmi << endl;
// 判断身体状况
if(bmi < 18.5) {
cout << "体重偏轻" << endl;
} else if(bmi < 24) {
cout << "体重正常" << endl;
} else if(bmi < 28) {
cout << "体重偏重" << endl;
} else {
cout << "肥胖" << endl;
}
return 0;
}
```
代码说明:
1. 使用double类型保证计算精度
2. 使用iomanip库控制输出格式
3. 添加了输入数据的合理性检查
4. BMI判断标准清晰明确
注意事项:
1. 体重和身高必须是正数
2. BMI计算公式的正确使用
3. 输出结果的精度控制
4. 注意区间边界的处理
##### 🔬 实验八F:小游戏评级系统
题目描述:
编写一个游戏评级系统,根据玩家的得分(0-100分)评定等级。评级标准:
- 100分:SSS级(完美通关)
- 90-99分:SS级(超神表现)
- 80-89分:S级(非常棒)
- 70-79分:A级(还不错)
- 60-69分:B级(继续加油)
- 60分以下:C级(请重新挑战)
输入格式:
一个整数score,表示游戏得分
输出格式:
一行字符串,显示评级结果和对应评语
数据范围:
0 ≤ score ≤ 100
样例输入1:
```
100
```
样例输出1:
```
SSS级 - 完美通关!
```
样例输入2:
```
85
```
样例输出2:
```
S级 - 非常棒!
```
代码实现:
```cpp
#include
using namespace std;
int main() {
int score; // 存储游戏得分
// 提示用户输入并获取分数
cout << "请输入游戏得分(0-100):";
cin >> score;
// 检查分数是否在有效范围内
if(score < 0 || score > 100) {
cout << "无效的得分!" << endl;
return 1; // 异常退出
}
// 使用多分支结构评定等级
if(score == 100) {
cout << "SSS级 - 完美通关!" << endl;
} else if(score >= 90) {
cout << "SS级 - 超神表现!" << endl;
} else if(score >= 80) {
cout << "S级 - 非常棒!" << endl;
} else if(score >= 70) {
cout << "A级 - 还不错!" << endl;
} else if(score >= 60) {
cout << "B级 - 继续加油!" << endl;
} else {
cout << "C级 - 请重新挑战!" << endl;
}
return 0;
}
```
代码说明:
1. 使用if-else if结构实现多级评定
2. 特别处理满分(100分)情况
3. 添加了分数有效性检查
4. 每个等级都附带鼓励性评语
注意事项:
1. 分数必须是0-100的整数
2. 满分需要单独判断
3. 评语要有激励作用
4. 等级划分要清晰准确
##### 🔬 实验八G:点餐系统
题目描述:
编写一个简单的点餐系统。系统提供四种选择:1-汉堡(20元),2-披萨(50元),3-炸鸡(30元),4-饮料(10元)。用户输入选择编号后,系统显示所选商品和价格。这个程序展示了多分支结构在菜单选择中的应用。
输入格式:
一个整数choice,表示菜品编号
输出格式:
一行字符串,显示所选菜品和价格,或错误提示
数据范围:
1 ≤ choice ≤ 4
样例输入1:
```
1
```
样例输出1:
```
你选择了汉堡,价格20元
```
样例输入2:
```
5
```
样例输出2:
```
输入错误,请重新选择
```
解题思路:
1. 显示菜单供用户选择
2. 使用if-else if结构处理不同选项
3. 为每个选项显示对应价格
4. 处理无效输入情况
代码实现:
```cpp
#include
using namespace std;
int main() {
int choice; // 存储用户选择
// 显示菜单
cout << "欢迎使用点餐系统!" << endl;
cout << "1-汉堡 2-披萨 3-炸鸡 4-饮料" << endl;
cout << "请输入你的选择(1-4):";
cin >> choice;
// 使用多分支结构处理选择
if(choice == 1) {
cout << "你选择了汉堡,价格20元" << endl;
} else if(choice == 2) {
cout << "你选择了披萨,价格50元" << endl;
} else if(choice == 3) {
cout << "你选择了炸鸡,价格30元" << endl;
} else if(choice == 4) {
cout << "你选择了饮料,价格10元" << endl;
} else {
cout << "输入错误,请重新选择" << endl;
}
return 0;
}
```
代码说明:
1. 清晰显示菜单选项
2. 使用if-else if结构处理选择
3. 每个选项显示商品和价格
4. 处理无效输入
注意事项:
1. 选择必须是1-4的整数
2. 显示明确的价格信息
3. 提供友好的操作提示
4. 必须处理错误输入