NO.12十六届蓝桥杯备战|关系操作符|操作符连用|浮点数比较|练习2道(C++)

关系操作符

关系操作符介绍

⽤于⽐较的表达式,称为“关系表达式”(relational expression),⾥⾯使⽤的运算符就称为“关
系运算符”(relational operator),主要有下⾯6个。

运算符描述
>⼤于运算符,⽤于⽐较两个数值,如果左侧数值⼤于右侧数值,则返回1(真),否则返回0(假)
<⼩于运算符,⽤于⽐较两个数值,如果左侧数值⼩于右侧数值,则返回1(真),否则返回0(假)
>=⼤于等于运算符,⽤于⽐较两个数值,如果左侧数值⼤于或等于右侧数值,则返回1(真),否则返回0(假)
<=⼩于等于运算符,⽤于⽐较两个数值,如果左侧数值⼩于或等于右侧数值,则返回1(真),否则返回0(假)
==相等运算符,⽤于⽐较两个值是否相等,如果相等,则返回1(真),否则返回0(假)
!=不等于运算符,⽤于⽐较两个值是否不相等,如果不相等,则返回1(真),否则返回0(假)
关系表达式通常返回 0 或 1 ,表⽰真假( 0 表⽰假,所有非零值表示真)。⽐如, 20 > 12 返回1 , 12 > 20 返回 0 。
关系表达式常⽤于 if 或 while 结构。
if (x == 3)  
{  
	cout << "x is 3" << endl;  
}

注意:相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。有时候,可能会不⼩⼼写出下⾯的代码,它可以运⾏,但很容易出现意料之外的结果

if (x = 3) ...
关系操作符连⽤

多个关系运算符不宜连⽤

i < j < k

上⾯示例中,连续使⽤两个⼩于运算符。这是合法表达式,不会报错,但是通常达不到想要的结果,即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执⾏的是下⾯的表达式

(i < j) < k

上⾯式⼦中, i < j 返回 0 或 1 ,所以最终是 0 或 1 与变量 k 进⾏⽐较。如果想要判断变量 j 的值是否在 i 和 k 之间,应该使⽤下⾯的写法。

i < j && j < k
浮点数⽐较相等

在⽐较浮点数时,由于浮点数在计算机中是以有限精度表⽰的,也就是说有些浮点数在内存中其实⽆法精确保存,这可能导致浮点数⽐较中的⼀些精度误差问题。
如果直接使⽤ == 来⽐较两个浮点数,很可能会由于这些微⼩的误差导致不准确的结果。

#include <iostream>  

using namespace std;  

int main()  
{  
	double a = 0.1;  
	double b = 0.2;  
	double c = 0.3;  
	
	if (a + b == c)  
		cout << "a + b == c" << endl;  
	else  
		cout << "a + b != c" << endl;  
	
	return 0;  
}

![[Pasted image 20250211043933.png]]

#include <iostream>  
#include <cmath>

using namespace std;  

int main()  
{  
	double a = 0.1;
	double b = 0.2;  
	double c = 0.3;  
	
	if (fabs((a + b) - c) < 1e-9) // 1e-9 表⽰允许的误差范围  
		cout << "a + b 约等于 c" << endl;  
	else  
		cout << "a + b 不等于 c" << endl;  
	
	return 0;  
}

练习

B2044 有一门课不及格的学生
#include <iostream>
using namespace std;

int a, b, c;

int main()
{
    cin >> a >> b >> c;
    int s = 0;
    if (a < 60)
        s++;
    if (b < 60)
        s++;
    if (c < 60)
        s++;
    if (s == 1)
        cout << 1 << endl;
    else
        cout << 0 << endl;

    return 0;
}
#include <iostream>  

using namespace std;

int main()  
{  
	int a, b, c;  
	int s = 0;  
	
	cin >> a >> b >> c;  
	if ((a < 60) + (b < 60) + (c < 60) == 1)  
		cout << 1 << endl;  
	else  
		cout << 0 << endl;  
	
	return 0;  
}

因为⼀个关系操作符计算的结果如果是真就是 1 ,如果是假就是 0 ,所以这⾥我们把三⻔成绩判断的结果相加,如果等于 1 ,就说明只有⼀⻔成绩不及格,也能达到题⽬的要求,⼀定程度上简化了代码。

#include <iostream>  

using namespace std;  

int main()  
{  
	int a1, a2, n;  
	
	cin >> a1 >> a2 >> n;  
	if (n == 1)  
		cout << a1 << endl;  
	else if (n == 2)  
		cout << a2 << endl;  
	else  
		cout << a2 + (n - 2) * (a2 - a1) << endl;  
	
	return 0;  
}

![[Pasted image 20250211050632.png]]

#include <iostream>
using namespace std;

int a1, a2, n;

int main()
{
    cin >> a1 >> a2 >> n;
    int d = a2 - a1;
    int ret = (n - 1) * d + a1;
    cout << ret << endl;

    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM组成

JVM是什么&#xff1f; JVM&#xff08;Java Virtual Machine&#xff09;&#xff1a;Java程序的运行环境(java二进制字节码的运行环境) 好处&#xff1a; 1.一次编写&#xff0c;到处运行 Java代码是如何做到一次编写&#xff0c;到处运行&#xff1f; 计算机的最底层是计…

不小心删除服务[null]后,git bash出现错误

不小心删除服务[null]后&#xff0c;git bash出现错误&#xff0c;如何解决&#xff1f; 错误描述&#xff1a;打开 git bash、msys2都会出现错误「bash: /dev/null: No such device or address」 问题定位&#xff1a; 1.使用搜索引擎搜索「bash: /dev/null: No such device o…

130,[1] 攻防世界 very_easy_sql

进入靶场 典型SQL注入页面 先查看源码 访问 试试http://127.0.0.1/ 还尝试了其他都是nonono 回归第一个登录页面 提交的内容不在url处显示&#xff0c;反而第二个url页面会在url处显示 明白第一个页面是通过post方式提交&#xff0c;反正没得到什么信息&#xff0c;去抓…

Android10 音频参数导出合并

A10 设备录音时底噪过大&#xff0c;让音频同事校准了下&#xff0c;然后把校准好的参数需要导出来&#xff0c;集成到项目中&#xff0c;然后出包&#xff0c;导出方式在此记录 设备安装debug系统版本调试好后&#xff0c; adb root adb remount adb shell 进入设备目录 导…

django中间件,中间件给下面传值

1、新建middleware.py文件 # myapp/middleware.py import time from django.http import HttpRequest import json from django.http import JsonResponse import urllib.parse from django.core.cache import cache from comm.Db import Db class RequestTimeMiddleware:def …

24电子信息类研究生复试面试问题汇总 电子信息类专业知识问题最全!电子信息复试全流程攻略 电子信息考研复试真题汇总

你是不是在为电子信息考研复试焦虑&#xff1f;害怕被老师问到刁钻问题、担心专业面答不上来&#xff1f;别慌&#xff01;作为复试面试92分逆袭上岸的学姐&#xff0c;今天手把手教你拆解电子信息类复试通关密码&#xff01;看完这篇&#xff0c;让你面试现场直接开大&#xf…

LVDS接口总结--(1)LVDS硬件电路接口

1.LVDS差分信号电路原理 LVDS指的是低压差分信号&#xff0c;是一种电平标准。 差分信号在串行通信中有着非常广泛的应用&#xff0c;典型应用有PCIE中的gen1&#xff0c;gen2&#xff0c;gen3&#xff0c;gen4&#xff0c;gen5&#xff0c;SATA接口&#xff0c;USB接口等。 …

【STM32】HAL库Host MSC读写外部U盘及FatFS文件系统的USB Disk模式

【STM32】HAL库Host MSC读写外部U盘及FatFS文件系统的USB Disk模式 在先前 分别介绍了FatFS文件系统和USB虚拟U盘MSC配置 前者通过MCU读写Flash建立文件系统 后者通过MSC连接电脑使其能够被操作 这两者可以合起来 就能够实现同时在MCU、USB中操作Flash的文件系统 【STM32】通过…

第四期书生大模型实战营-第5关-L2G5000

1 Web 版茴香豆 助教说这趴先跳过&#xff0c;那我就跳过 2 茴香豆本地标准版搭建 2.1 环境搭建 2.2 安装茴香豆 2.3 知识库创建 2.4 测试知识助手 2.4.1 命令行运行 2.4.2 Gradio UI 界面测试 确认一下是否正常 完美。 至于选做&#xff0c;我这么懒&#xff0c;怎么可能…

Elastic Cloud Serverless 现已在 Microsoft Azure 上提供技术预览版

作者&#xff1a;来自 Elastic Yuvi Gupta Elastic Cloud Serverless 提供了启动和扩展安全性、可观察性和搜索解决方案的最快方法 — 无需管理基础设施。 今天&#xff0c;我们很高兴地宣布 Microsoft Azure 上的 Elastic Cloud Serverless 技术预览版现已在美国东部地区推出。…

go语言简单快速的按顺序遍历kv结构(map)

文章目录 需求描述用map实现按照map的key排序用二维切片实现用结构体实现 需求描述 在go语言中&#xff0c;如果需要对map遍历&#xff0c;每次输出的顺序是不固定的&#xff0c;可以考虑存储为二维切片或结构体。 假设现在需要在页面的下拉菜单中展示一些基础的选项&#xff…

TDengine 产品由哪些组件构成

目 录 背景产品生态taosdtaosctaosAdaptertaosKeepertaosExplorertaosXtaosX Agent应用程序或第三方工具 背景 了解一个产品&#xff0c;最好从了解产品包括哪些内容开始&#xff0c;我这里整理了一份儿 TDegnine 产品包括有哪些组件&#xff0c;每个组件作用是什么的说明&a…

2.buuctf [NPUCTF2020]ReadlezPHP(类与对象、类的属性、序列化、代码复用与封装)

进入题目页面如下 哎呦&#xff0c;有趣哈 ctrlu查看源码&#xff0c;下拉看到 点进去看看 看到源码 开始审代码 <?php // #error_reporting(0); 这行代码被注释掉了&#xff0c;原本的作用是关闭所有PHP错误报告 // 定义一个名为 HelloPhp 的类 class HelloPhp {// 声明…

Spring MVC 拦截器(Interceptor)与过滤器(Filter)的区别?

1、两者概述 拦截器&#xff08;Interceptor&#xff09;&#xff1a; 只会拦截那些被 Controller 或 RestController 标注的类中的方法处理的请求&#xff0c;也就是那些由 Spring MVC 调度的请求。过滤器&#xff08;Filter&#xff09;&#xff1a; 会拦截所有类型的 HTTP …

多机器人系统的大语言模型:综述

25年2月来自 Drexel 大学的论文“Large Language Models for Multi-Robot Systems: A Survey”。 大语言模型 (LLM) 的快速发展为多机器人系统 (MRS) 开辟新的可能性&#xff0c;从而增强通信、任务规划和人机交互。与传统的单机器人和多智体系统不同&#xff0c;MRS 带来独特…

搭建Spark集群(CentOS Stream 9)

零、资源准备 虚拟机相关: VMware workstation 16:虚拟机/vmware_16.zip(建议选择vmware_17版本)CentOS Stream 9:虚拟机/CentOS-Stream-9-latest-x86_64-boot.iso(安装包小,安装时需要联网下载)/ 虚拟机/CentOS-Stream-9-latest-x86_64-dvd1.iso(安装包大)JDK jdk1.8:…

FAST_LIVO2初次安装编译

1、安装依赖库 &#xff08;1&#xff09;Sophus git clone https://github.com/strasdat/Sophus.git cd Sophus git checkout a621ff mkdir build && cd build && cmake .. make sudo make install 命令行运行&#xff1a;make时&#xff0c;出现以下错误&…

零基础学CocosCreator·第九季-网络游戏同步策略与ESC架构

课程里的版本好像是1.9&#xff0c;目前使用版本为3.8.3 开始~ 目录 状态同步帧同步帧同步客户端帧同步服务端ECS框架概念ECS的解释ECS的特点EntityComponentSystemWorld ECS实现逻辑帧&渲染帧 ECS框架使用帧同步&ECS 状态同步 一般游戏的同步策略有两种&#xff1a;…

网络工程师 (32)TRUNK

一、定义 TRUNK&#xff0c;也称为端口汇聚、链路汇聚或多链路汇聚&#xff0c;是一种网络技术&#xff0c;其本质是将多个以太网端口绑定在一起作为一个逻辑链路来使用。通过TRUNK技术&#xff0c;用户在使用这个逻辑链路时&#xff0c;就好像是在使用一条独立的物理链路一样&…

Untiy3d 铰链、弹簧,特殊的物理关节

&#xff08;一&#xff09;铰链组件 1.创建一个立方体和角色胶囊 2.给角色胶囊挂在控制脚本和刚体 using System.Collections; using System.Collections.Generic; using UnityEngine;public class plyer : MonoBehaviour {// Start is called once before the first execut…