文章目录
一、前言
本章节主要是关于分支结构的题目进行讲解,包括《1303. 冷饮的价格(1)》《1033. 判断奇偶数》《1302. 是否适合晨练?》《1632. 需要几辆车》《1043. 行李托运价格》《1037. 恐龙园买门票》题目。
二、问题
问题:1303. 冷饮的价格(1)
类型:分支
题目描述:
小明去冷饮店买冰激凌,如果买 10 个以上或者 10 个,2 元 / 个, 10 个以下, 2.2 元 / 个。
请从键盘读入小明的购买数量,计算小明应付的价格!
输入:
一个整数,代表小明购买的冰激凌的数量(n≤100) 。
输出:
小明应付的金额,金额保留 1 位小数!
样例:
输入:
20
输出:
40.0
1.分析问题
- 已知:小明购买的冰激凌的数量(n≤100) 。
- 未知:小明应付的金额,金额保留 1 位小数。
- 关系:如果买 10 个以上或者 10 个,2 元 / 个, 10 个以下, 2.2 元 / 个。
2.定义变量
int n:存储小明购买的冰激凌数量,类型为整数,范围符合题目要求(n≤100)。
double p:存储小明应付的金额,类型为双精度浮点数,以便保留小数点后的精度。
//二、数据定义
int n;
double p;
3.输入数据
读取用户输入的冰激凌数量,并将其存储在变量 n 中。
//三、数据输入
cin>>n;
4.数据计算
计算应付金额的初值为 2.2 * n,假设所有冰激凌单价为 2.2 元。
接着检查 n 是否大于等于 10,如果是,则根据题目条件,从总金额中减去优惠部分(0.2 * n),即每个冰激凌优惠 0.2 元。
这样,最终得到的 p 即为小明应付的金额。
//四、数据计算
p=2.2*n;
if(n>=10){
p-=0.2*n;
}
5.输出结果
设置输出格式:
- fixed:使输出的浮点数始终以定点形式显示。
- setprecision(1):设置输出浮点数的小数点后保留 1 位。
然后输出计算得到的应付金额 p。
//五、输出结果
cout<<fixed<<setprecision(1)<<p;
return 0;
完整代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {
// 一、数据定义
// 定义变量 n 用于存储小明购买的冰激凌数量(整数,范围 1 ≤ n ≤ 100)
int n;
// 定义变量 p 用于存储小明应付的金额(双精度浮点数,保留 1 位小数)
double p;
// 二、数据输入
// 从标准输入读取小明购买的冰激凌数量
cin >> n;
// 三、数据计算
// 初始假设所有冰激凌单价为 2.2 元,计算总金额
p = 2.2 * n;
// 若购买数量达到或超过 10 个,则享受优惠
// 每个冰激凌优惠 0.2 元,从总金额中减去优惠部分
if (n >= 10) {
p -= 0.2 * n;
}
// 四、输出结果
// 设置输出浮点数格式:定点显示,保留 1 位小数
// 输出小明应付的金额
cout << fixed << setprecision(1) << p;
return 0;
}
问题:1033. 判断奇偶数
类型:分支
题目描述:
输入一个整数,判断是否为偶数。是输出 y e s ,否则输出n o。
输入:
输入只有一行,包括 1 个整数(该整数在 1∼10000 的范围内)。
输出:
输出只有一行。(注意输出格式,具体请看下方提示)。
样例:
输入:
2
输出:
y e s
1.分析问题
- 已知:一个整数n。
- 未知:判断是否为偶数。
- 关系:除2余0为偶数。
2.定义变量
定义整数变量 n,用于存储用户输入的整数。
//二、数据定义
int n;
3.输入数据
从标准输入读取用户输入的整数,存入变量 n。
//三、数据输入
cin>>n;
4.数据计算
根据 n 是否为偶数,输出相应的结果。
//四、数据计算
if(n%2==0){
//五、输出结果
cout<<"y e s";
}else{
//五、输出结果
cout<<"n o";
}
完整代码如下:
#include <iostream>
using namespace std;
int main() {
// 一、分析问题
// 已知:用户输入一个整数 n。
// 未知:判断 n 是否为偶数,并输出对应结果。
// 关系:若 n 除以 2 的余数为 0,则 n 为偶数。
// 二、数据定义
int n; // 定义整数变量 n,用于存储用户输入的整数
// 三、数据输入
cin >> n; // 从标准输入读取用户输入的整数,存入变量 n
// 四、数据计算
// 五、输出结果
// 根据 n 是否为偶数,输出相应的结果
if (n % 2 == 0) {
cout << "y e s"; // 输出 "y e s"
} else {
cout << "n o"; // 输出 "n o"
}
return 0;
}
问题:1302. 是否适合晨练?
类型:分支
题目描述:
夏天到了,气温太高,小明的爷爷每天有晨练的习惯,但有时候温度不适合晨练;小明想编写一个程序,帮助爷爷判断温度是否适合晨练。
输入温度 t 的值,判断其是否适合晨练,适合晨练输出 OK ,不适合输出 NO 。( 20≤t≤30 ,则适合晨练 OK ,否则不适合 NO )。
输入:
一个整数代表当天的温度。
输出:
OK 或者 NO 。
样例:
输入:
22
输出:
OK
1.分析问题
- 已知:温度 t 的值。
- 未知:帮助爷爷判断温度是否适合晨练。
- 关系:20≤t≤30 ,则适合晨练 OK ,否则不适合 NO 。
2.定义变量
定义整数变量 t,用于存储用户输入的温度值。
//二、数据定义
int t;
3.输入数据
从标准输入读取用户输入的温度值,存入变量 t。
//三、数据输入
cin>>t;
4.数据计算
判断温度 t 是否在适合晨练的范围内(20 ≤ t ≤ 30)。
//四、数据计算
if(t>=20&&t<=30){
//五、输出结果
cout<<"OK";
}else{
//五、输出结果
cout<<"NO";
}
完整代码如下:
#include <iostream>
using namespace std;
int main() {
// 一、分析问题
// 已知:用户输入一个表示温度的整数 t。
// 未知:根据温度 t 判断是否适合爷爷晨练,并输出对应结果。
// 关系:若温度满足 20 ≤ t ≤ 30,则适合晨练(输出 "OK"),否则不适合(输出 "NO")。
// 二、数据定义
int t; // 定义整数变量 t,用于存储用户输入的温度值
// 三、数据输入
cin >> t; // 从标准输入读取用户输入的温度值,存入变量 t
// 四、数据计算
// 五、输出结果
// 根据温度 t 是否适合晨练,输出相应的结果
if (t >= 20 && t <= 30) {
cout << "OK"; // 输出 "OK"
} else {
cout << "NO"; // 输出 "NO"
}
return 0;
}
问题:1632. 需要几辆车
类型:分支
题目描述:
学校有 n 位同学要外出旅游,一辆大巴车可以坐 30 人,请问需要几辆大巴车?
输入:
一个整数 n,代表同学的总人数。
输出:
一个整数,代表需要大巴车的数量。
样例:
输入:
18
输出:
1
1.分析问题
- 已知:n 位同学要外出旅游,一辆大巴车可以坐 30 人。
- 未知:请问需要几辆大巴车?
- 关系:同学数/车位=车数,不能整除时额外添加1辆车。
2.定义变量
定义整数变量 n 存储学生总数,x 存储所需大巴车数量。
//二、数据定义
int n,x;
3.输入数据
从标准输入读取学生总数 n。
//三、数据输入
cin>>n;
4.数据计算
若学生总数不能被大巴车座位数整除(有余数),需额外增加 1 辆大巴车。
//四、数据计算
x=n/30;
if(n%30!=0){
++x;
}
5.输出结果
输出所需大巴车数量。
//五、输出结果
cout<<x;
完整代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {
// 一、分析问题
// 已知:有 n 位同学要外出旅游,一辆大巴车可以坐 30 人。
// 未知:计算需要租用多少辆大巴车才能满足所有同学的出行需求。
// 关系:总学生数 n 除以每辆大巴车座位数(30 人),商为整数部分车数,余数不为 0 时需额外增加 1 辆车。
// 二、数据定义
int n, x; // 定义整数变量 n 存储学生总数,x 存储所需大巴车数量
// 三、数据输入
cin >> n; // 从标准输入读取学生总数 n
// 四、数据计算
// 计算所需大巴车的整数部分数量
x = n / 30;
// 若学生总数不能被大巴车座位数整除(有余数),需额外增加 1 辆大巴车
if (n % 30 != 0) {
++x;
}
// 五、输出结果
// 输出所需大巴车数量
cout << x;
return 0;
}
问题:1043. 行李托运价格
类型:分支
题目描述:
某车站行李托运收费标准是: 10 公斤或 10 公斤以下,收费 2.5 元,超过 10 公斤的行李,按每超过 1 公斤增加 1.5 元进行收费。
试编一程序,输入行李的重量,算出托运费。
输入:
输入只有一行,包括 1 个整数。
输出:
输出只有一行,包括 1 个数。 (保留两位小数)。
样例:
输入:
10
输出:
2.50
1.分析问题
- 已知:用户输入行李的重量(公斤)。
- 未知:据行李重量计算所需的托运费用,并输出结果。
- 关系:行李重量在 10 公斤或 10 公斤以下,收费 2.5 元;超过 10 公斤的部分,每超 1 公斤加收 1.5 元。
2.定义变量
定义整数变量 n 存储行李重量(公斤)。
定义双精度浮点数变量 p 存储计算出的托运费用。
//二、数据定义
int n;
double p;
3.输入数据
标准输入读取行李重量 n(公斤)。
//三、数据输入
cin>>n;
4.数据计算
初始化基础费用为 2.5 元。
若行李重量超过 10 公斤,则计算超出部分的额外费用。
//四、数据计算
p=2.5;
if(n>10){
n-=10;
p+=1.5*n;
}
5.输出结果
设置输出浮点数格式:定点显示,保留 2 位小数。
输出计算出的托运费用。
//五、输出结果
cout<<fixed<<setprecision(2)<<p;
return 0;
完整代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {
// 一、分析问题
// 已知:用户输入行李的重量(公斤)。
// 未知:根据行李重量计算所需的托运费用,并输出结果。
// 关系:行李重量在 10 公斤或 10 公斤以下,收费 2.5 元;超过 10 公斤的部分,每超 1 公斤加收 1.5 元。
// 二、数据定义
int n; // 定义整数变量 n 存储行李重量(公斤)
double p; // 定义双精度浮点数变量 p 存储计算出的托运费用
// 三、数据输入
cin >> n; // 从标准输入读取行李重量 n(公斤)
// 四、数据计算
// 初始化基础费用为 2.5 元
p = 2.5;
// 若行李重量超过 10 公斤,则计算超出部分的额外费用
if (n > 10) {
n -= 10; // 计算超出 10 公斤的部分重量
p += 1.5 * n; // 根据超出部分重量计算额外费用,并累加到基础费用上
}
// 五、输出结果
// 设置输出浮点数格式:定点显示,保留 2 位小数
// 输出计算出的托运费用
cout << fixed << setprecision(2) << p;
return 0;
}
问题:1037. 恐龙园买门票
类型:分支
题目描述:
恐龙园买门票,身高低于 1.3 米购儿童票( 60元 ),否则成人票 120 元。
试编写一个程序,输入身高,输出相应的门票价格。
输入:
一行,一个人的身高。
输出:
一行,一个整数。
样例:
输入:
1.1
输出:
60
1.分析问题
- 已知:用户输入一个人的身高(米)。
- 未知:根据身高计算对应的门票价格(儿童票或成人票),并输出结果。
- 关系:身高低于或等于 1.3 米,购买儿童票(价格 60 元);身高高于 1.3 米,购买成人票(价格 120 元)。
2.定义变量
定义双精度浮点数变量 h 存储输入的身高(米)。
// 二、数据定义
double h;
3.输入数据
从标准输入读取身高 h(米)。
// 三、数据输入
cin >> h;
4.数据计算
根据身高计算出的门票类型,输出对应的票价。
if (h >= 1.3) {
cout << "120"; // 输出成人票价格(120 元)
} else {
cout << "60"; // 输出儿童票价格(60 元)
}
完整代码如下:
#include <iostream>
using namespace std;
int main() {
// 一、分析问题
// 已知:用户输入一个人的身高(米)。
// 未知:根据身高计算对应的门票价格(儿童票或成人票),并输出结果。
// 关系:身高低于或等于 1.3 米,购买儿童票(价格 60 元);身高高于 1.3 米,购买成人票(价格 120 元)。
// 二、数据定义
double h; // 定义双精度浮点数变量 h 存储输入的身高(米)
// 三、数据输入
cin >> h; // 从标准输入读取身高 h(米)
// 四、数据计算
// 五、输出结果
// 根据身高计算出的门票类型,输出对应的票价
if (h >= 1.3) {
cout << "120"; // 输出成人票价格(120 元)
} else {
cout << "60"; // 输出儿童票价格(60 元)
}
return 0;
}
三、感谢
如若本文对您的学习或工作有所启发和帮助,恳请您给予宝贵的支持——轻轻一点,为文章点赞;若觉得内容值得分享给更多朋友,欢迎转发扩散;若认为此篇内容具有长期参考价值,敬请收藏以便随时查阅。
每一次您的点赞、分享与收藏,都是对我持续创作和分享的热情鼓励,也是推动我不断提供更多高质量内容的动力源泉。期待我们在下一篇文章中再次相遇,共同攀登知识的高峰!