C++信息学奥赛2049:【例5.19】字符串判等

news2024/12/25 12:18:51

在这里插入图片描述
这段代码的功能是比较两个输入的字符串是否相等(忽略大小写和空格),并输出 “YES” 或 “NO”。

解析注释后的代码如下:

#include<bits/stdc++.h>
using namespace std;
int main() {
	string arr; // 定义字符串变量arr,用来存储第一个输入的字符串
	string att; // 定义字符串变量att,用来存储第二个输入的字符串
	getline(cin, arr); // 通过getline函数输入第一个完整的字符串,并存储到变量arr中
	getline(cin, att); // 通过getline函数输入第二个完整的字符串,并存储到变量att中
	int a, b; // 定义整型变量a和b,用于记录当前对比的字符位置
	a = b = 0; // 初始化a和b为0
	while(arr.size() > a || att.size() > b){ // 当未遍历完任一字符串时执行循环
		while(arr[a] == ' '){ // 跳过arr中的空格字符
			a++;
		}
		while(att[b] == ' '){ // 跳过att中的空格字符
			b++;
		}
		if(tolower(arr[a]) == tolower(att[b])){ // 忽略大小写比较当前字符是否相等
			a++; // 移动到arr下一个字符位置
			b++; // 移动到att下一个字符位置
		}else{
			cout << "NO"; // 如果当前字符不相等,则输出"NO"并结束程序
			return 0;
		}
	}
	cout << "YES"; // 遍历完两个字符串后,输出"YES"
  return 0;
}

代码首先包含了一个头文件 bits/stdc++.h,该头文件包含了所有常用的标准库。然后,定义了两个字符串变量 arratt,分别用于存储两个输入的字符串。

使用 getline(cin, arr)getline(cin, att) 函数来获取两行完整的输入,并将其分别存储在字符串变量 arratt 中。这样可以保证输入的字符串中包括空格字符。

接下来,定义了两个整型变量 ab,并将它们初始化为0,用于记录当前对比的字符位置。

进入循环,条件为未遍历完任一字符串时执行。在循环体内,首先使用内部的 while 循环跳过字符串 arr 中的空格字符,使变量 a 指向非空格字符的位置。然后,使用另一个内部的 while 循环跳过字符串 att 中的空格字符,使变量 b 指向非空格字符的位置。

之后,通过 tolower() 函数将当前字符转换为小写字母,并进行忽略大小写的比较。如果当前字符相等,则将 ab 分别增加1,即移动到 arratt 的下一个字符位置。

如果当前字符不相等,则输出 “NO” 并结束程序。

当循环结束后,说明两个字符串已遍历完,且没有出现不匹配的字符。此时,输出 “YES”。

总体而言,这段代码的作用是比较两个输入的字符串是否相等(忽略大小写和空格),并输出 “YES” 或 “NO”。

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

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

相关文章

Python网络爬虫入门到实战

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 网络爬虫&#xff08;We…

C++信息学奥赛1130:找第一个只出现一次的字符

这段代码的功能是找出输入字符串中第一个重复出现的字符&#xff0c;并输出该字符。 解析注释后的代码如下&#xff1a; #include<bits/stdc.h> using namespace std; int main() {string arr;getline(cin, arr); int a0;for(int i0;i<arr.length();i){for(int j0;j…

怎么看电脑型号?5个方法,快速查看!

“弟弟快上大学了&#xff0c;想给他买一部性价比好一点的电脑&#xff0c;但是我对电脑又不太熟悉&#xff0c;请问大家怎么查看电脑型号呢&#xff1f;感谢回答&#xff01;” 每台电脑不一样&#xff0c;它的电脑型号也可能有差别。电脑型号是指一台电脑特定的标识&#xff…

在外SSH远程连接macOS服务器

文章目录 前言1. macOS打开远程登录2. 局域网内测试ssh远程3. 公网ssh远程连接macOS3.1 macOS安装配置cpolar3.2 获取ssh隧道公网地址3.3 测试公网ssh远程连接macOS 4. 配置公网固定TCP地址4.1 保留一个固定TCP端口地址4.2 配置固定TCP端口地址 5. 使用固定TCP端口地址ssh远程 …

(vue)el-table 怎么把表格列中相同的数据 合并为一行

(vue)el-table 怎么把表格列中相同的数据 合并为一行 效果&#xff1a; 文档解释&#xff1a; 写法&#xff1a; <el-table:data"tableData"size"mini"class"table-class"borderstyle"width:100%"max-height"760":span-…

ubuntu查看网速

使用speedomster测试网速 sudo apt-get install speedometer 查询需要测速的网卡 speedometer -r ens33 -t ens33 -r: 指定网卡的接收速度 -t: 指定网卡的发送速度 使用nload测试 sudo apt-get install nload 测速 nload -t 200 -i 1024 -o 128 -U M 参数含义&#xff0…

自组织映射

无监督深度学习&#xff1a; 无监督模型使神经网络能够执行聚类、异常检测、特征选择、特征提取、降维和推荐系统等任务。这些神经网络包括 自组织图、玻尔兹曼机、自动编码器。 什么是 SOM&#xff1f; 简而言之&#xff0c;自组织映射是一种基于竞争学习的人工神经网络&am…

react通过ref获取函数子组件实例方法

在react16之后带来了hooks之后&#xff0c;确实方便了很多组件开发&#xff0c;也加快了函数式编程的速度&#xff0c;但是当你通过useRef获取子组件的时候&#xff0c;又恰好子组件是一个函数组件&#xff0c;那么将会报一个错误&#xff1a;报这个错误的主要原因是函数组件没…

Lnton羚通云算力平台如何在OpenCV-Python 中,来进行图像算术运算?

在 OpenCV-Python 中&#xff0c;可以使用函数 ​​cv2.add()​​、​​cv2.subtract()​​、​​cv2.multiply()​​ 和 ​​cv2.divide()​​ 来进行图像算术运算。这些函数接受两个输入图像&#xff0c;并对其进行逐像素的运算。 1.图像加法&#xff1a; ​​OpenCV​​ 是…

【jsthreeJS】入门three,并实现地月绕行,附带全码

效果图&#xff1a; 序幕准备&#xff1a; 需要自己准备地球跟月球的纹理贴图&#xff0c;如下&#xff1a; 图片格式转换网址&#xff0c;如下&#xff1a; Zamzar - File Conversion progress 开始编码&#xff1a; 实现步骤如下&#xff1a; 在JavaScript部分&#xff0c;…

【Vue】使用Hbuilder x开发vue前端项目

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 一、Hbuilder x 代码风格调整1.在工具中找到设置&#xff0c;点击插件设置2.代开jsbeautify.js配置2.uni-app项目icon的使用 一、Hbuilder x …

解读逻辑输出光隔离器TLP2355(TPL,E(T 在工业自动化应用技巧

逻辑输出光隔离器是一种用于隔离电路中的逻辑信号和光信号的器件。它通常由光电耦合器和逻辑输出接口组成。 光电耦合器是一种能够将光信号转换为电信号的器件&#xff0c;它由一个发光二极管和一个光敏二极管组成。当发光二极管接收到电路中的逻辑信号时&#xff0c;它会发出…

智能在线客服系统,客户问题接待更及时

优质的客户服务可以提高客户的满意度和忠诚度&#xff0c;从而为企业带来更多的商业机会。智能在线客服系统&#xff0c;是指通过人工智能技术和自然语言处理技术&#xff0c;将客户的问题自动化地分配给相应的客服人员&#xff0c;从而实现客户问题的快速解答。相比传统的客服…

七夕节海外网红营销:助力品牌赢得全球消费者

随着全球化的进程不断加速&#xff0c;七夕节作为一个传统的华人节日&#xff0c;正逐渐走向国际舞台&#xff0c;成为了海外品牌开拓市场的营销新热点。近年来&#xff0c;海外网红已成为品牌宣传的重要工具&#xff0c;他们的影响力和粉丝基础成为了出海品牌开拓海外市场的利…

WindowsServer安装IIS以及搭建Asp网页

简介 Internet Information Services (IIS) 是一个由微软公司创建和维护的&#xff0c;用于在Windows系统上托管网站和Web应用程序的服务器。IIS是Windows Server的一个组成部分&#xff0c;并且也可以在某些版本的Windows上运行。 IIS支持多种Web开发技术&#xff0c;包括AS…

第六章,创作文章

6.1添加创作页面 <template><div class="blog-container"><div class="blog-pages"><div class="col-md-12 panel"><div class="panel-body"><h2 class="text-center">创作文章&l…

220V转5V芯片三脚芯片-AH8652

220V转5V芯片三脚芯片是一种非常常见的电源管理芯片&#xff0c;它通常被用于将高压交流输入转为稳定的直流5V输出。芯片型号AH8652是一款支持交流40V-265V输入范围的芯片&#xff0c;采用了SOT23-3三脚封装。该芯片内部集成了650V高压MOS管&#xff0c;能够稳定地将输入电压转…

中小型企业人事考勤管理系统的设计(论文+源码)_kaic

摘要 中小企业是我国经济的重要组成部分&#xff0c;人事管理对于中小企业的发展和运营至关重要。传统的人事考勤管理方式往往存在着效率低、准确度不高以及易于被操控等问题&#xff0c;给企业的管理带来了一定的困扰。为了解决中小企业在人事考勤管理方面面临的问题&#xff…

Databend 开源周报第 107 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 理解连接参数 …

html动态爱心代码【一】(附源码)

前言 七夕马上就要到了&#xff0c;为了帮助大家高效表白&#xff0c;下面再给大家带来了实用的HTML浪漫表白代码(附源码)背景音乐&#xff0c;可用于520&#xff0c;情人节&#xff0c;生日&#xff0c;表白等场景&#xff0c;可直接使用。 效果演示 文案修改 var loverNam…