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

news2024/11/19 0:30:42

文章目录

  • 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;
        }
        else
            cout << "最大的数是:" << 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语句和三元运算符邓,并介绍了分支语句的相关案例练习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/338393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

php的api系统,php api 框架

本文目录一览&#xff1a; 1、php如何开发API接口2、什么是API&#xff1f;PHP的API怎么写&#xff1f;3、API和PHP是什么关系4、php中的API接口怎么写 ?5、如何使用PHP搭建一个restFul风格的API系统6、PHP 的API接口 php如何开发API接口 比如一个自定义函数&#xff1a;fun…

【遇见青山】项目难点:缓存击穿问题解决方案

【遇见青山】项目难点&#xff1a;缓存击穿问题解决方案1.缓存击穿互斥锁&#x1f512;方案逻辑过期方案2.基于互斥锁方案的具体实现3.基于逻辑过期方案的具体实现1.缓存击穿 缓存击穿问题也叫热点Key问题&#xff0c;就是一个被高并发访问并且缓存重建业务较复杂的key突然失效…

RuoYi-Cloud 部署

RuoYi-Cloud部署 1. 下载 点击右侧链接可以进入gitee的源码下载地址&#xff1a; 偌依微服务源码gitee下载地址 2. 数据库部署 依据如下步骤创建系统所需数据环境&#xff0c;脚本执行没有先后次序要求&#xff1a; 在Mysql 中创建 ry-cloud 主数据库&#xff0c;并执行 …

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

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

【Java】Help notes about JAVA

JAVA语言帮助笔记Java的安装与JDKJava命名规范JAVA的数据类型自动类型转换强制类型转换JAVA的运算符取余运算结果的符号逻辑运算的短路运算三元运算符运算符优先级JAVA的流程控制分支结构Java的安装与JDK JDK安装网站&#xff1a;https://www.oracle.com/java/technologies/do…

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

目录 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>定长内存池实现…

更换主板开机logo

更换主板开机logo前言详细操作步骤可能遇到的问题素材链接前言 在使用刀锋钛主板后发现&#xff0c;开机logo有些不符合个人喜好&#xff0c;如下图&#xff1a; 于是就有了更换主板logo的想法&#xff0c;确定用刷bios这一方法&#xff0c;注&#xff1a;刷BIOS之前一定要做…

MS14-064(OLE远程代码执行漏洞复现)

✅作者简介&#xff1a;CSDN内容合伙人、信息安全专业在校大学生&#x1f3c6; &#x1f525;系列专栏 &#xff1a;内网安全-漏洞复现 &#x1f4c3;新人博主 &#xff1a;欢迎点赞收藏关注&#xff0c;会回访&#xff01; &#x1f4ac;舞台再大&#xff0c;你不上台&#xf…

Java测试——selenium常见操作(2)

这篇博客继续讲解一些selenium的常见操作 selenium的下载与准备工作请看之前的博客&#xff1a;Java测试——selenium的安装与使用教程 先创建驱动 ChromeDriver driver new ChromeDriver();等待操作 我们上一篇博客讲到&#xff0c;有些时候代码执行过快&#xff0c;页面…

Axios异步请求 json格式

Axios是Ajax的一个框架,简化Ajax操作。需要axios.min.js 和vue.js的jar。发送普通参数异步请求以及相应异常情况客户端向服务器端异步发送普通参数值&#xff1a;- 基本格式&#xff1a; axios().then().catch()- 示例&#xff1a;axios({ // axios表示要发送一个异步请求metho…

12月无情被辞:想给还不会自动化测试的技术人提个醒

公司前段时间缺人&#xff0c;也面了不少测试&#xff0c;结果竟没有一个合适的。一开始瞄准的就是中级的水准&#xff0c;也没指望来大牛&#xff0c;提供的薪资在10-20k&#xff0c;面试的人很多&#xff0c;但是平均水平很让人失望。基本能用一句话概括就是&#xff1a;3年测…

火遍全网的ChatGPT,可免费使用啦

啰嗦几句最近最最最火爆的莫过于ChatGPT了&#xff0c;感觉你不知道ChatGPT是什么做什么&#xff0c;你都没法跟人交流了&#xff01;ChatGPT是美国OpenAI研发的聊天机器人程序&#xff0c;跟小冰、小爱、小度一样&#xff0c;但是不一样的是它拥有强大的信息整合能力&#xff…

【性能】性能测试理论篇_学习笔记_2023/2/11

性能测试的目的验证系统是否能满足用户提出的性能指标发现性能瓶颈&#xff0c;优化系统整体性能性能测试的分类注&#xff1a;这些测试类型其实是密切相关&#xff0c;甚至无法区别的&#xff0c;例如几乎所有的测试都有并发测试。在实际中不用纠结具体的概念。而是要明确测试…

子比主题v6.9.2 免费版源码下载及其激活步骤详解

本人版权所有&#xff0c;请勿打回&#xff01; 文章目录一&#xff0c;子比主题v6.9.2 免费版源码下载及其激活步骤1.1什么是Zibll子比主题&#xff1f;1.2特点二.效果展示2.1 部分源码2.2 效果展示三.源码下载及其视频演示3.1源码下载3.2视频演示一&#xff0c;子比主题v6.9.…

Golang map笔记

map定义三种方式package mainimport "fmt"func main() {// map 的基本定义// 第一种方式 使用make分配数据空间var map1 map[string]stringmap1 make(map[string]string, 3)map1["no1"] "北京"map1["no2"] "天津"map1[&q…

Mysql 增删改查(二)—— 增(insert)、删(delete)、改(update)

目录 一、插入 1、insert 2、replace&#xff08;插入否则更新&#xff09; 二、更新&#xff08;update&#xff09; 三、删除 1、delete 2、truncate&#xff08;截断表&#xff0c;慎用&#xff09; 一、插入 1、insert (1) 单行 / 多行插入 全列插入&#xff1a;…

可能是最强的Python可视化神器,建议一试!

数据分析离不开数据可视化&#xff0c;我们最常用的就是Pandas&#xff0c;Matplotlib&#xff0c;Pyecharts当然还有Tableau&#xff0c;看到一篇文章介绍Plotly制图后我也跃跃欲试&#xff0c;查看了相关资料开始尝试用它制图。 1.Plotly Plotly是一款用来做数据分析和可视…

毕业四年换了3份软件测试工作,我为何仍焦虑?

​今天一看日历&#xff1a;2023.2.11 &#xff0c;才突然意识到自己毕业已经四年了。四年时间里一直在测试行业摸爬滚打&#xff0c;现在是时候记录一下了。 下面我来分享下我这4年软件测试经验及成长历程&#xff0c;或许能帮助你解决很多工作中的迷惑。 01、我是如何开始做…

libevent 实现httpserver 终极版C/C++

最近要用C实现哥httpserver,之前探索了很多个http的库。 1. 我之前最习惯用httplib-cpp github.comhttps://github.com/yhirose/cpp-httplib 但是它要求gcc-g版本要大于4.8。然后我用了6.1.0之后&#xff0c;我的其他库比如mysql glog之后怎么都链接不上。换了系统&a…

Https 协议超强讲解(二)

浏览器是如何确保 CA 证书的合法性&#xff1f; 1. 证书包含什么信息&#xff1f; 颁发机构信息 公钥 公司信息 域名 有效期 指纹 …… 2. 证书的合法性依据是什么&#xff1f; 首先&#xff0c;权威机构是要有认证的&#xff0c;不是随便一个机构都有资格颁发证书&am…