当前位置: 首页 > news >正文

C++005-C++选择与分支2

文章目录

  • C++005-C++选择与分支2
    • 条件语句C++实现
      • else if 语句
        • 题目描述 根据成绩输出成绩等级ABCDE
      • if嵌套语句
        • 题目描述 输出三个数中的最大值
        • 题目描述 模拟游戏登录
      • switch语句
      • 三元运算符
        • 题目描述 输出三个数中的最大值-基于3元运算符
        • 题目描述 根据1-7输出星期1-星期日
      • 案例练习
        • 题目描述 给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。
        • 题目描述 判断是否式闰年。
    • 在线练习:
    • 总结

C++005-C++选择与分支2

在这里插入图片描述

在线练习:
http://noi.openjudge.cn/ch0104/

条件语句C++实现

C++ 有以下条件语句:

使用if指定的代码块将被执行,如果一个指定的条件是真
使用else指定的代码块将被执行,如果相同的条件为假
使用else if指定一个新的条件测试,如果第一个条件为假
使用switch指定的代码许多替代块被执行

else if 语句

如果if语句为假,则执行else if,else if也为假才执行else:
在这里插入图片描述
在这里插入图片描述

题目描述 根据成绩输出成绩等级ABCDE

题目描述
输入一个成绩,输出这个成绩对应的等级 如大于等于90 为A 每10分一个等级,小于60为E。

输入
输入整数。
输出
分数对应的成绩级别。
样例输入
85
样例输出
B

#include<iostream>
using namespace std;
int main()
{int x;cin>>x;if ( x >= 90 ) cout<<"A"<<endl;else if(x >= 80) cout<<"B"<<endl;else if(x >= 70) cout<<"C"<<endl;else if(x >= 60) cout<<"E"<<endl;else cout<<"E"<<endl;return 0;
}

if嵌套语句

在这里插入图片描述

题目描述 输出三个数中的最大值

在这里插入图片描述

分析思路:
在这里插入图片描述

#include<iostream>
using namespace std;int main()
{int a, b, c;cout << "请输入a,b,c三个数的值:" << endl;cin >> a >> b >> c;if (a > b){if (a > c){cout << "最大的数是:" << a << endl;}else{cout << "最大的数是:" << c << endl;}}else{if (b > c){cout << "最大的数是:" << b << endl;}elsecout << "最大的数是:" << c << endl;}system("pause");return 0;
}

题目描述 模拟游戏登录

在这里插入图片描述

分析过程:
在这里插入图片描述

#include<iostream>
using namespace std;int main()
{int user, pw;cout << "用户名id和密码,均为纯数字用空格分割:" << endl;cin >> user >> pw;if(user==123){if(pw==456) {cout<<"登录成功";}else{cout<<"密码错误";}}else{cout<<"用户名错误";}system("pause");return 0;
}

switch语句

如果比较的条件为多个特定的值,基于switch可以简化代码。
switch语句格式

#include<iostream>
using namespace std;int main() {switch (表达式){case 常量表达式1: [语句块1] [break; ]case 常量表达式2: [语句块2] [break;]case 常量表达式3: [语句块3] [break;]...case 常量表达式n: [语句块n] [break;][default:语句块n + 1;[ break;] ]}return 0;
}

三元运算符

题目描述 输出三个数中的最大值-基于3元运算符

在这里插入图片描述
基于3元运算符的办法

#include<iostream>
using namespace std;int main()
{int a, b, c, d;cout << "请输入三个数a,b,c的值:" << endl;cin >> a >> b >> c;d = a > b ? a : b;d = d > c ? d : c;cout << "三个数中最大的数是:" << d << endl;system("pause");return 0;
}

题目描述 根据1-7输出星期1-星期日

在这里插入图片描述

#include <iostream>
using namespace std;int main()
{int choice;cout << "Enter 1,2 ... 7: \n";cin >> choice;switch (choice){case 1 :cout<< "星期一";break;case 2 :cout<< "星期二";break;case 3 :cout<< "星期三";break;case 4 :cout<< "星期四";break;case 5 :cout<< "星期五";break;case 6 :cout<< "星期六";break;case 7 :cout<< "星期日";break;default:cout << "请输入1-7的整数\n";}return 0;
}

switch后面必须有()和{};
在()中是需要判断的语句和变量(例如上面是判断sum变量的值);
在{}中是switch核心程序块,用于判断处理;
在{}中就是使用case关键字来判断;
case后面跟的必须是常量表达式(包括字符表达式)(格式如:case 1:语句;[break;]),表达式可以是C++任何的合法语句,但是其值只能是字符型常量或者整型常量,该常量表达式是用来判断()里面的表达式的值是否与该常量表达式的值相等;
每个分支case的常量表达式的值必须与某一值严格相等;
case 常量表达式: 其冒号‘:’后面就是判断为True后所要执行的语句,而且最容易让新学者犯错的是,在执行语句后没有加 break 这样可能会导致的错误的结果,如果没有加break的话会继续执行下去,甚至会把其他case后面的语句也执行了,这个结果会在后面讲;
所有的case 后面可以加上“ default:语句块;break; ” 而且default可以加也可以不加;
注意 case 后面的 常量表达式的值都是不能相等的;(若判断的值范围较大,则显然是用if语句优于switch语句。)
在判断过程中发现每个分支case的常量表达式都不符合,则如果有default语句到时候就会执行default语句后面的的语句,如果default没有,则什么也不执行;
而且,若switch的某一分支的语句不止一句,则所要求的的多条语句也不用写成语句块的形式,只需在最后的语句后面加上break;即可表示在此case的执行语句结束;

案例练习

题目描述 给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。

题目描述
给定三个正整数,分别表示三条线段的长度,判断这三条线段能否构成一个三角形。

输入
输入共一行,包含三个正整数,分别表示三条线段的长度,数与数之间以一个空格分开。
输出
如果能构成三角形,则输出“yes” ,否则输出“no”。
样例输入
3 4 5
样例输出
yes

#include <iostream>
using namespace std;int main()
{int a,b,c;cin>>a>>b>>c;if(a+b>c && a+c>b && c+b>a) cout<<"yes";else cout<<"no";return 0;
}

题目描述 判断是否式闰年。

题目描述
判断某年是否是闰年。

输入
输入只有一行,包含一个整数a(0 < a < 3000)
输出
一行,如果公元a年是闰年输出yes,否则输出no
样例输入
2006
样例输出
no

在这里插入图片描述

#include <iostream>
using namespace std;int main()
{int a;cin>>a;if(a%400==0 || a%100!=0 && a%4==0) cout<<"yes";else cout<<"no";return 0;
}

在线练习:

http://noi.openjudge.cn/ch0104/
14+18+19 +20 +21题

总结

本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++条件表达式,包括if else if 和if 嵌套 switch语句和三元运算符邓,并介绍了分支语句的相关案例练习。

相关文章:

C++005-C++选择与分支2

文章目录C005-C选择与分支2条件语句C实现else if 语句题目描述 根据成绩输出成绩等级ABCDEif嵌套语句题目描述 输出三个数中的最大值题目描述 模拟游戏登录switch语句三元运算符题目描述 输出三个数中的最大值-基于3元运算符题目描述 根据1-7输出星期1-星期日案例练习题目描述 …...

IPFS 简介及概述

文章目录 IPFS 简介IPFS 包含的协议内容及其理解IPFS 和 BitTorrent 区别IPFS 简介 星际文件系统(InterPlanetary File System). IPFS 是一个分布式的网络文件系统, 点到点超媒体协议. 可以让我们的互联网速度更快, 更加安全, 并且更加开放. IPFS协议的目标是取代传统的互联网…...

初学者必读:讲解 VC 下如何正确的创建、管理及发布项目

Visual C 的项目文件组成&#xff0c;以及如何正确的创建及管理项目。 本内容是初学者必须要掌握的。不能正确的管理项目&#xff0c;就不能进一步写有规模的程序。 一、项目下各种常见文件类型的功能 1. 代码文件 扩展名为 .cpp、.c、.h 等。 通常情况下&#xff0c;项目…...

剑指offer(中等)

目录 二维数组中的查找 重建二叉树 矩阵中的路径 剪绳子 剪绳子② 数值的整数次方 表示数值的字符串 树的子结构 栈的压入、弹出序列 从上到下打印二叉树① 从上到下打印二叉树③ 二叉搜索树的后序遍历序列 二叉树中和为某一值的路径 复杂链表的复制 二叉搜索树与…...

微软发布会精华回顾:“台式电脑”抢了风头

Lightbot北京时间2016年10月26日晚10点&#xff0c;微软在纽约发布了名为 Surface Studio 的一体机、名为 Surface Dial 的配件以及外观未变的顶配版 Surface Book。同时&#xff0c;微软宣布了 Windows 10 下一个重要版本——“Creators Update”的数项新功能&#xff0c;包括…...

CF1561C Deep Down Below 题解

CF1561C Deep Down Below 题解题目链接字面描述Deep Down Below题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路TLE算法具体思想TLE特例AC思想代码实现备注题目 链接 https://www.luogu.com.cn/problem/CF1561C 字面描述 Deep Down Below 题面翻译…...

秒杀项目之服务调用分布式session

目录 nginx动静分离 服务调用 创建配置zmall-cart购物车模块 创建配置zmall-order订单模块 服务调用 spring session实战 什么是Spring Session 为什么要使用Spring Session 错误案例展示 配置spring-session 二级域名问题 用户登录 nginx动静分离 第1步&#xff…...

聊聊什么是架构,你理解对了吗?

什么是架构?软件有架构?建筑也有架构?它们有什么相同点和不同点? 下面咱们就介绍一下,容易混淆的几个概念 一、系统与子系统 系统 泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是 “总体”、“整体”或“联盟” 子系…...

java多线程开发

1.并发和并行 并发&#xff1a;同一时间段内多个任务同时进行。 并行&#xff1a;同一时间点多个任务同时进行。 2.进程线程 进程&#xff08;Process&#xff09;&#xff1a;进程是程序的一次动态执行过程&#xff0c;它经历了从代码加载、执行、到执行完毕的一个完整过程…...

杂记7--opencv的ar码模块学习

背景&#xff1a;项目需要用到marker知识&#xff0c;所以到官网上临时补一些知识。 概要&#xff1a;主要介绍marker一些接口的含义&#xff0c;纯属个人理解&#xff0c;有误则希望大佬不吝赐教 1、 涉及ar码操作学习&#xff0c;其头文件为&#xff1a; #include <op…...

[项目设计]高并发内存池

目录 1、项目介绍 2、高并发内存池整体框架设计 3、thread cache <1>thread cache 哈希桶对齐规则 <2>Thread Cache类设计 4、Central Cache <1>Central Cache类设计 5、page cache <1>Page Cache类设计 6、性能分析 <1>定长内存池实现…...

28岁才转行软件测试,目前32了,我的一些经历跟感受

我是92年的&#xff0c;算是最早的90后&#xff0c;现在跟你介绍的时候还恬不知耻的说我是90后&#xff0c;哈哈&#xff0c;计算机专业普通本科毕业。在一个二线城市&#xff0c;毕业后因为自身能力问题、认知水平问题&#xff0c;再加上运气不好&#xff0c;换过多份工作&…...

Python导入模块的3种方式

很多初学者经常遇到这样的问题&#xff0c;即自定义 Python 模板后&#xff0c;在其它文件中用 import&#xff08;或 from...import&#xff09; 语句引入该文件时&#xff0c;Python 解释器同时如下错误&#xff1a;ModuleNotFoundError: No module named 模块名意思是 Pytho…...

select 与 where、order by、limit 子句执行优先级比较

当 select 和 其他三种语句的一者或者多者同时出现时&#xff0c;他们之间是存在执行先后顺序的。 他们的优先级顺序是&#xff1a;where > select > order by > limit 目录 1、select 与 where 2、select 与 order by 3、order by 与 limit 4、优先级证明 1、s…...

Linux内核并发与竞争-原子操作

一.原子操作的概念首先看一下原子操作&#xff0c;原子操作就是指不能再进一步分割的操作&#xff0c;一般原子操作用于变量或者位操作。假如现在要对无符号整形变量 a 赋值&#xff0c;值为 3&#xff0c;对于 C 语言来讲很简单&#xff0c;直接就是&#xff1a; a3但是 C 语言…...

Java笔记-泛型的使用

参考&#xff1a; Java 泛型&#xff0c;你了解类型擦除吗&#xff1f; 泛型的使用 1、泛型的定义 可以广泛使用的类型&#xff0c;一种较为准确的说法就是为了参数化类型&#xff0c;或者说可以将类型当作参数传递给一个类或者是方法。 2、泛型的使用 2.1泛型类 public c…...

特斯拉无人驾驶解读

来源于Tesla AI Day Tesla无人驾驶算法的核心任务就是如何理解我们所看到的一切呢?也就是说,不使用高端的设备,比如激光雷达,仅仅使用摄像头就能够将任务做得很好。Tesla使用环绕型的8个摄像头获得输入。 第一步是特征提取模块Backbone,无论什么任务都离不开特征…...

生物素-琥珀酰亚胺酯Biotin-NHS;CAS号:35013-72-0;可对溶液中的抗体,蛋白质和任何其他含伯胺的大分子进行简单有效的生物素标记。

结构式&#xff1a; ​ 生物素-琥珀酰亚胺酯Biotin NHS CAS号&#xff1a;35013-72-0 英文名称&#xff1a;Biotin-NHS 中文名称&#xff1a;D-生物素 N-羟基琥珀酰亚胺酯&#xff1b;生物素&#xff0d;琥珀酰亚胺酯 CAS号&#xff1a;35013-72-0 密度&#xff1a;1.50.1 …...

Maven_第五章 核心概念

目录第五章 其他核心概念1、生命周期①作用②三个生命周期③特点2、插件和目标①插件②目标3、仓库第五章 其他核心概念 1、生命周期 ①作用 为了让构建过程自动化完成&#xff0c;Maven 设定了三个生命周期&#xff0c;生命周期中的每一个环节对应构建过程中的一个操作。 …...

【深度学习】人脸识别工程化落地

文章目录前言1、facenet2、使用2.1.其它blog2.2 实践总结前言 老早以前就希望能写一篇关于人脸识别的工程化落地的案例&#xff0c;一年前做疲劳驾驶时使用的dlib插件&#xff0c;它封装好了&#xff0c;人脸检测、对齐、相似度计算三个部分,就是插件比较难装,但同时也少了很多…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

云原生安全实战:API网关Kong的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关&#xff08;API Gateway&#xff09; API网关是微服务架构中的核心组件&#xff0c;负责统一管理所有API的流量入口。它像一座…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...

如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据&#xff0c;你需要完成以下配置步骤&#xff1a; ✅ 一、在 SQL Server 端配置&#xff08;服务器设置&#xff09; 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到&#xff1a;SQL Server 网络配…...