文章目录
- 一、前言
- 二、问题
- 问题:1656. 是两位的偶数吗
- 问题:1658. 游乐设施
- 问题:1659. 是否含有数字5
- 问题:1660. 今天要上课吗
- 问题:1661. 宇航员选拔
- 三、感谢
一、前言
本章节主要对关于分支结构的中需要进行逻辑运算的题目讲解,包括《1656. 是两位的偶数吗》《1658. 游乐设施》《1659. 是否含有数字5》《1660. 今天要上课吗》《1661. 宇航员选拔》题目。
二、问题
问题:1656. 是两位的偶数吗
类型:分支结构
题目描述:
输入一个整数 n ,请帮忙判断一下这个整数 n 是否是两位的偶数,如果是输出 Yes ,如果不是,请输出 No 。(请注意大小写)。
比如:28 就是一个两位偶数,而 128 就不是两位偶数。
输入:
一个整数 n 。
输出:
如果n是两位偶数输出 Yes ,否则输出 No 。
样例:
输入:
28
输出:
Yes
1.分析问题
- 已知:一个整数 n 。
- 未知:n是否是两位的偶数。
- 关系:10<=n<100&&n%2==0
2.定义变量
- 定义一个整型变量 n 来存储待判断的整数。
//二、数据定义
int n;
3.输入数据
- 使用 cin 从标准输入(通常是键盘)读取一个整数到变量 n 中。
//三、数据输入
cin>>n;
4.数据计算
- 使用 if 语句进行条件判断,条件是:
- n 大于等于10(确保是两位数)
- n 小于100(确保是两位数)
- n 对2取余等于0(确保是偶数)
- 如果上述条件都满足,输出 “Yes”;否则,输出 “No”。
//四、数据计算
if(n>=10&&n<100&&n%2==0){
//五、输出结果
cout<<"Yes";
}else{
//五、输出结果
cout<<"No";
}
完整代码如下:
#include <bits/stdc++.h> // 包含常用头文件,提供标准输入输出等功能
using namespace std; // 使用std命名空间,简化代码中的标准库调用
int main() {
// 一、问题分析
// 给定:一个整数n。
// 目标:判断该整数是否满足两个条件:
// 1. 是两位数(即10到99之间的整数)
// 2. 是偶数(能被2整除)
// 二、数据定义
int n; // 定义一个整数变量n来存储待判断的数
// 三、数据输入
cin >> n; // 从标准输入读取一个整数到变量n中
// 四、逻辑判断与计算
// 使用if语句检查n是否满足两位数且为偶数的条件
if (n >= 10 && n < 100 && n % 2 == 0) { // 判断n是否在10到99之间且能被2整除
cout << "Yes"; // 如果满足条件,输出"Yes"
} else {
cout << "No"; // 如果不满足条件,输出"No"
}
// 五、程序结束
return 0; // 程序执行完毕,返回0表示成功结束
}
问题:1658. 游乐设施
类型:分支结构
题目描述:
游乐场引进了一个新的游乐设施,可以两人一组开动该设施,但设施设计上有一个缺陷,必须一个人的体重在 60 公斤以上(包含 60 公斤),另一个人体重在 60 公斤以下,才能启动该设施。
请你编程从键盘读入两个游客的体重,判断一下设施能否启动,如果能启动输出 green,不能启动输出 red 。
比如输入:65.2 28.5,就可以启动设施,输出 green 。
再比如输入:28.5 56.7,就不能启动设施,输出 red 。
输入:
两个小数,代表两位游客的体重。
输出:
如果能启动输出 green ,不能启动输出 red 。
样例:
输入:
65.2 28.5
输出:
green
1.分析问题
- 已知:两个游客的体重。
- 未知:判断一下设施能否启动,如果能启动输出 green,不能启动输出 red 。
- 关系:必须一个人的体重在 60 公斤以上(包含 60 公斤),另一个人体重在 60 公斤以下,才能启动该设施。
2.定义变量
- double a, b;定义了两个变量a和b,用来存储两个游客的体重。
//二、数据定义
double a,b;
3.输入数据
- 从标准输入(通常是键盘)读取两个游客的体重。
//三、数据输入
cin>>a>>b;
4.数据计算
- if (a < b) { swap(a, b); }这行代码确保a始终代表较重的游客体重,b代表较轻的游客体重,简化后续的条件判断。
- 接下来的if语句检查体重条件是否满足设施启动的要求:a(较重者)是否大于等于60公斤且b(较轻者)是否小于60公斤。
//四、数据计算
if(a<b){
swap(a,b);
}
if(a>=60&&b<60){
//五、输出结果
cout<<"green";
}else{
//五、输出结果
cout<<"red";
}
完整代码如下:
#include <bits/stdc++.h> // 包含标准库中的所有常用头文件
using namespace std; // 使用std命名空间,可以直接调用其中的函数、对象等,无需加std::前缀
int main() {
// 一、问题分析
// 已知:需要判断两个游客的体重条件。
// 目标:确定游乐设施是否能够启动。
// 规则:设施启动条件为,两位游客中一人体重≥60kg且另一人<60kg。
// 二、数据定义
double a, b; // 定义两个双精度浮点数变量a和b,分别存储两位游客的体重
// 三、数据输入
cin >> a >> b; // 从标准输入读取两个体重值到a和b中
// 四、数据处理
// 交换a和b的值(如有必要),确保a为两人中的较重者,简化后续判断逻辑
if (a < b) {
swap(a, b); // 使用swap函数交换a和b的值
}
// 五、逻辑判断
// 检查体重条件是否满足设施启动要求
if (a >= 60 && b < 60) { // 若较重者≥60kg且较轻者<60kg
// 六、输出结果
cout << "green"; // 输出"green",表示设施可以启动
} else {
// 六、输出结果
cout << "red"; // 输出"red",表示设施不能启动
}
// 七、程序结束
return 0; // 主函数返回0,表示程序正常退出
}
问题:1659. 是否含有数字5
类型:分支结构
题目描述:
请从键盘读入一个五位整数 n,判断其是否含有数字 5,如果含有数字 5 ,请输出这个 5 位数各个位的和;如果不含数字 5 ,请直接输出这个 5 位数。
比如:输入:12345,就是含有数字5 ,因此输出 15(1+2+3+4+5=15)。
再比如:输入:12188 ,就不含数字 5,那么直接输出12188 。
输入:
一个五位正整数 n 。
输出:
输出一个整数,代表按要求计算的结果。
样例:
输入:
12345
输出:
15
1.分析问题
- 已知:一个五位正整数 n 。
- 未知:输出一个整数,代表按要求计算的结果。
- 关系:如果含有数字 5 ,请输出这个 5 位数各个位的和;如果不含数字 5 ,请直接输出这个 5 位数。
2.定义变量
- 定义了六个整数变量,其中n用于存储输入的五位数,而g, s, b, q, w分别对应该数的个位、十位、百位、千位和万位。
//二、数据定义
int n,g,s,b,q,w;
3.输入数据
- 从标准输入(如键盘)读取一个五位正整数并存储在变量n中。
//三、数据输入
cin>>n;
4.数据计算
- 通过除法和取余运算,分离出n的每一位数字并分别存储。
- 检查五位数的每一位是否包含数字5。如果有任何一位是5,则将n更新为其各位数字之和。
//四、数据计算
g=n%10;
s=n/10%10;
b=n/100%10;
q=n/1000%10;
w=n/10000;
if(g==5||s==5||b==5||q==5||w==5){
n=g+s+b+q+w;
}
5.输出结果
- 这里输出的n可能是原始的五位数(如果没有5),也可能是它的各位数字之和(如果包含至少一个5)。
//五、输出结果
cout<<n;
return 0;
完整代码如下:
#include <bits/stdc++.h> // 包含大量常用的头文件,适用于快速编程但可能增加编译时间
using namespace std; // 使用标准命名空间std,简化对标准库函数和对象的访问
int main() {
// 一、问题分析
// 已知:输入是一个五位正整数 n。
// 目标:根据 n 中是否包含数字 5,输出不同的结果。
// 规则:
// - 如果 n 包含数字 5,则输出 n 各位数字之和。
// - 如果 n 不包含数字 5,则直接输出 n。
// 二、数据定义
int n, g, s, b, q, w; // 分别代表五位数的各位(个位g, 十位s, 百位b, 千位q, 万位w)
// 三、数据输入
cin >> n; // 从标准输入读取一个五位正整数到变量n中
// 四、数据处理
// 提取各位数字
g = n % 10; // 个位
s = n / 10 % 10; // 十位
b = n / 100 % 10; // 百位
q = n / 1000 % 10; // 千位
w = n / 10000; // 万位
// 检查是否包含数字5
if (g == 5 || s == 5 || b == 5 || q == 5 || w == 5) {
// 如果n中包含数字5,则计算并更新n为各位数字之和
n = g + s + b + q + w;
}
// 注意:如果n不含5,此处逻辑默认直接使用原n值,无需额外处理
// 五、输出结果
cout << n; // 输出处理后的n值,根据规则可能是原数或各位数字之和
return 0; // 表示程序成功执行完毕
}
问题:1660. 今天要上课吗
类型:分支结构
题目描述:
暑假来了,晶晶报了自己心仪已久的游泳课,非常开心,老师告诉晶晶每周周一、周三、周五、周六四天都要上课的,晶晶担心自己会忘记,请你编写一个程序,从键盘读入今天星期几,输出是否要上课,如果要上课,请输出 youke ,如果不要上课,请输出 meike 。
输入:
从键盘读入一个整数 n(n 是 1∼7 之间的整数),代表今天是星期几。
输出:
根据要求输出 youke 或者 meike 。
样例:
输入:
1
输出:
youke
1.分析问题
- 已知:一个整数 n(n 是 1~7 之间的整数),代表今天是星期几。
- 未知:是否要上课。
- 关系:每周周一、周三、周五、周六四天都要上课的。
2.定义变量
- 定义一个整型变量n来存储输入的表示星期几的数字。
//二、数据定义
int n;
3.输入数据
- 从标准输入接收一个整数,用户应输入1到7之间的值,代表星期一到星期日。
//三、数据输入
cin>>n;
4.数据计算
- 如果n是1(周一)、3(周三)、5(周五)、或6(周六),则输出"youke",表示那天有课;否则,输出"meike",表示没有课。
//四、数据计算
if(n==1||n==3||n==5||n==6){
//五、输出结果
cout<<"youke";
}else{
//五、输出结果
cout<<"meike";
}
完整代码如下:
#include <bits/stdc++.h> // 包含C++标准库中的常用功能,方便快捷但可能增加编译时间
using namespace std; // 使用std命名空间,可以直接调用std中的函数和对象,无需前缀
int main() {
// 一、问题阐述
// 给定:一个整数n,范围是1到7,分别代表星期一到星期日。
// 目标:判断该天是否需要上课。
// 规则:星期一(1)、星期三(3)、星期五(5)、星期六(6)需要上课。
// 二、数据定义
int n; // 定义一个整型变量n,存储输入的表示星期的数字
// 三、数据输入
cin >> n; // 从控制台读取用户输入的星期数,用户应输入1至7之间的整数
// 四、逻辑判断
// 使用if语句检查n的值,以判断当天是否为上课日
if (n == 1 || n == 3 || n == 5 || n == 6) { // 如果n为1、3、5、或6,则表示当天有课
// 五、输出结果
cout << "youke"; // 输出"youke",表示需要上课
} else {
// 五、输出结果
cout << "meike"; // 输出"meike",表示无需上课
}
// 六、程序结束
return 0; // 主函数返回0,表示程序执行成功结束
}
问题:1661. 宇航员选拔
类型:分支结构
题目描述:
宇航局来到某部队,想从该部队挑选身体好的战士进行航空航天的培训和考核,挑选未来的宇航员。宇航局在身体素质方面定了 33 个基本的标准:身高在 165 厘米∼185 厘米之间,体重在 50 公斤∼80公斤之间,年龄在16∼19周岁(所有数据都包含边界值,也就是身高包含165 厘米和 185 厘米,体重和年龄以此类推)。
现从键盘读入一位战士的年龄、身高、体重数据(都是整数),请问该战士是否符合宇航局定的基本标准,如果符合,请输出 Y ,如果不符合,请输出 N 。
输入:
读入三个整数,分别代表一位战士的年龄、体重、身高数据。
输出:
根据判断结果输出 Y 或者 N 。
样例:
输入:
16 60 185
输出:
Y
1.分析问题
-
已知:一位战士的年龄、身高、体重数据(都是整数)。
-
未知:该战士是否符合宇航局定的基本标准。 如果符合,请输出 Y ,如果不符合,请输出 N 。
-
关系:身高在 165 厘米~185 厘米之间,体重在 50 公斤~80公斤之间,年龄在16~19周岁(所有数据都包含边界值,也就是身高包含165 厘米和 185 厘米,体重和年龄以此类推)。
2.定义变量
- 定义了三个整型变量:h(身高,厘米)、w(体重,公斤)、a(年龄,岁)。
//二、数据定义
int a,w,h;
3.输入数据
- 通过cin从标准输入读取三个整数分别赋值给变量a、w、h,即战士的年龄、体重、身高。
//三、数据输入
cin>>a>>w>>h;
4.数据计算
- 使用if语句进行逻辑判断,检查战士的身高是否在165厘米到185厘米之间、体重是否在50公斤到80公斤之间、年龄是否在16岁到19岁之间。
- 如果所有条件满足(即战士符合宇航局的标准),则输出字符Y;否则,输出N。
//四、数据计算
if(h>=165&&h<=185&&w>=50&&w<=80&&a>=16&&a<=19){
//五、输出结果
cout<<"Y";
}else{
//五、输出结果
cout<<"N";
}
完整代码如下:
#include <bits/stdc++.h> // 包含了C++标准库的大部分头文件,适合快速编程但可能导致编译时间较长
using namespace std; // 声明使用std命名空间,简化代码中标准库的使用
int main() {
// 一、问题分析
// 已知:战士的年龄(a)、身高(h, 单位:厘米)、体重(w, 单位:公斤)皆为整数。
// 目标:判断这些数据是否符合宇航局的基本标准。
// 标准:身高165cm~185cm,体重50kg~80kg,年龄16岁~19岁(包含边界值)。
// 二、数据定义
int h, w, a; // 分别定义整型变量h(身高, cm), w(体重, kg), a(年龄, 岁)
// 三、数据输入
cin >> a >> w >> h; // 从控制台依次输入年龄、体重、身高的值
// 四、逻辑判断
// 判断输入的年龄、身高、体重是否全部满足宇航局的标准
if (h >= 165 && h <= 185 && w >= 50 && w <= 80 && a >= 16 && a <= 19) {
// 五、输出结果
cout << "Y"; // 如果满足所有条件,输出 "Y" 表示合格
} else {
// 五、输出结果
cout << "N"; // 如果有任何一项不满足条件,输出 "N" 表示不合格
}
return 0; // 程序结束,返回0表示程序执行成功
}
三、感谢
如若本文对您的学习或工作有所启发和帮助,恳请您给予宝贵的支持——轻轻一点,为文章点赞;若觉得内容值得分享给更多朋友,欢迎转发扩散;若认为此篇内容具有长期参考价值,敬请收藏以便随时查阅。
每一次您的点赞、分享与收藏,都是对我持续创作和分享的热情鼓励,也是推动我不断提供更多高质量内容的动力源泉。期待我们在下一篇文章中再次相遇,共同攀登知识的高峰!