【CSP试题回顾】201409-3-字符串匹配

news2024/12/23 13:50:52

CSP-201409-3-字符串匹配

关键点:<string>库函数的使用

  1. length()size(): 返回字符串的长度。

  2. empty(): 检查字符串是否为空。

  3. append()+=: 向字符串的末尾添加字符或另一个字符串。

  4. insert()在字符串的指定位置插入另一个字符串或字符。

std::string str = "HelloWorld";
str.insert(5, " "); // 插入空格在位置5,结果:"Hello World"
  1. erase()从字符串中删除一段子字符串。
std::string str = "Hello World";
str.erase(5, 6); // 从位置5开始删除6个字符,结果:"Hello"
  1. replace()替换字符串中的一段子字符串。
std::string str = "Hello World";
str.replace(6, 5, "There"); // 从位置6开始替换5个字符,结果:"Hello There"
  1. find()在字符串中查找另一个字符串或字符的第一次出现。
std::string str = "Hello World";
size_t pos = str.find("World"); // 返回"World"首次出现的位置,结果:6
if (pos != std::string::npos) {
    // 找到了
}
  1. substr()从字符串中提取一段子字符串。
std::string str = "Hello World";
std::string sub = str.substr(6, 5); // 从位置6开始提取5个字符,结果:"World"
  1. compare()比较两个字符串。
std::string str1 = "Hello";
std::string str2 = "World";
int result = str1.compare(str2); // 比较两个字符串
if (result == 0) {
    // 字符串相等
} else if (result < 0) {
    // str1 小于 str2
} else {
    // str1 大于 str2
}
  1. clear(): 清空字符串,等同于删除所有字符。

解题代码

#include<iostream>
#include<string>
#include<vector>
using namespace std;

string Trans2Small(string str) {
    int delta = 'A' - 'a';
    for (auto& it : str) {
        if (it >= 'A' && it < 'Z') // 大写转小写
        {
            it -= delta;
        }
    }
    return str;
}

int main()
{
    string subStr;
    cin >> subStr;
    bool sensitive; 
    cin >> sensitive;
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        string str;
        cin >> str;

        if (!sensitive) // 大小写不敏感
        {
            string subStrTemp = Trans2Small(subStr);
            string strTemp = Trans2Small(str);
            if (strTemp.find(subStrTemp) != -1)
            {
                cout << str << endl;
            }
        }
        else // 大小写敏感
        {
            if (str.find(subStr) != -1)
            {
                cout << str << endl;
            }
        }
    }
    return 0;
}

请添加图片描述

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

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

相关文章

Docker-容器网络互联

目录 1 前言 2 常用指令 3 实现容器互联 3.1 自定义网络 3.2 让容器连接创建的网络 3.2.1 容器创建后连接网络 3.2.2 容器创建时连接网络 3.3 尝试使用容器名访问(测试) 1 前言 在默认情况下&#xff0c;docker中的容器都是连接到一个虚拟的网桥上的&#xff0c;这为独…

web服务之虚拟主机功能

华子目录 概述基于IP地址的虚拟原理实验 基于不同端口号的虚拟主机原理实验 基于域名的虚拟主机原理域名解析实验 概述 如果每台运行 Linux 系统的服务器上只能运行一个网站&#xff0c;那么人气低、流量小的草根站长就要被迫承担着高昂的服务器租赁费用了&#xff0c;这显然也…

使用Python制作自己的wheel文件

平时自己利用Python制作一个个小工具后想分享给别人&#xff0c;但又嫌分享一堆项目代码很麻烦&#xff0c;那么你可以考虑将自己的项目打包成一个wheel文件&#xff0c;别人拿到文件后只需pip install安装即可使用&#xff0c;非常方便。 在上一篇博文中&#xff0c;利用nvid…

01、python_爬虫的相关概念

一、什么是爬虫&#xff1f; 爬虫是网络爬虫的简称&#xff0c;指的是一种自动化程序&#xff0c;用于在互联网上抓取信息。爬虫的核心工作包括爬取网页、解析数据和存储数据。 通俗来说就是&#xff1a;通过一个程序&#xff0c;根据url(http://taobao.com)进行爬取网页&…

第九届多媒体系统和信号处理国际会议(ICMSSP 2024)即将召开!

2024年第九届多媒体系统和信号处理国际会议&#xff08;ICMSSP 2024&#xff09;将在5月24-26日在泰国曼谷举行。ICMSSP 2024旨在展示多媒体系统和信号处理等相关主题的最新研究和成果&#xff0c;为不同领域的专家代表提供了面对面交流新想法以及应用经验的机会&#xff0c;建…

从零搭建React18.2+ReactRoute6.22+TS5+RTK2.2搭配antd5+antd-style书写All in Js完整体验项目规范

1. 使用CRA创建项目 全局设置npm淘宝镜像源 npm config set registry https://registry.npmmirror.com -g使用最新版create-react-app初始化项目结构 npx create-react-app custom-template --template typescript初始化项目之后在package.json文件中配置使用node>18.0.0…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:CalendarPicker)

日历选择器组件&#xff0c;提供下拉日历弹窗&#xff0c;可以让用户选择日期。 说明&#xff1a; 该组件从API Version 10开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 CalendarPicker(options?: CalendarOptions) …

构建读写分离的数据库集群

目录 1. 基础环境配置 &#xff08;1&#xff09;修改主机名 &#xff08;2&#xff09;编辑hosts文件 &#xff08;3&#xff09;配置Yum安装源 &#xff08;4&#xff09;安装JDK环境 2. 部署MariaDB主从数据库集群服务 &#xff08;1&#xff09;安装MariaDB服务 &a…

用readproc函数读取进程的状态

概要&#xff1a; 本篇演示用readproc函数读取进程的状态 libprocps库的安装参考笔者的文章readproc.h-CSDN博客 演示所用的系统是Ubuntu22.04 一、代码 #include<stdio.h> #include<stdlib.h> #include<proc/readproc.h> int main() {struct PROCTAB *…

清空 Redis 中所有的 key value

我们先登录 redis 服务 然后 输入 keys *这样 就可以查询到内部所有的key 然后 执行 FLUSHDB清空全部键值对 这里 OK后 我们重写查询 keys *显然 数据就被清空了

Redis几大数据类型

使用场景&#xff1a; Redis 数据类型及应用场景https://segmentfault.com/a/1190000012212663 Redis的五种常用数据类型在实际应用中有丰富的使用场景&#xff1a; 字符串&#xff08;String&#xff09; 缓存&#xff1a;存储经常查询但不频繁修改的数据&#xff0c;如网页…

java-新手笔记-(File篇)

1.File File类提供了许多方法来操作文件和目录&#xff0c;包括创建、查找、删除文件等 file常见功能 1.增 创建文件 exits() 判断文件是否存在 createNewFile() 创建新文件 二个搭配一起.判断文件是否存在来创建文件(需要使用try/catch处理异常情况) File file new File(&…

Java 学习和实践笔记(30):继承树的追溯

如上图所示&#xff0c;在上图中&#xff0c; 在最下面的子类Husky(哈士奇&#xff09;中&#xff0c;假定要查找一个变量或者方法h, 那么其查找顺序属性/方法查找顺序是这样的&#xff1a; 首先&#xff0c;查找当前类中有没有属性h 如果没有&#xff0c;则依次往上上溯每个…

SkyEye:助力飞行器状态控制系统仿真

飞行器与常见的航天器一样&#xff0c;属于安全关键领域的大型复杂设备&#xff0c;对安全性、可靠性有着极高的要求。为保证稳定飞行&#xff0c;需要对目标对象进行实时跟踪&#xff0c;通过发出正确的修正偏差指令来操纵飞行器改变飞行姿态&#xff0c;因此对飞行器状态控制…

[Buuctf] [MRCTF2020] Xor

运行 1.查壳 32位exe文件&#xff0c;没有壳 2.用32位IDA打开 找到main函数&#xff0c;F5查看伪代码&#xff0c;但是这里会弹出一个窗口 函数分析失败&#xff01;&#xff01; 这里我在看别人的题解时发现一种玄学方式解决了这个问题 窗口里面弹出了一个地址401095&…

2024年1月京东牛奶乳品行业分析:TOP10品牌销量及销额排行榜

鲸参谋监测的京东平台1月份牛奶乳品市场销售数据已出炉&#xff01; 根据鲸参谋电商数据分析平台显示&#xff0c;今年1月份&#xff0c;京东平台上牛奶乳品的销量约1600万件&#xff0c;环比上个月增长87%&#xff0c;同比去年下滑16%&#xff1b;销售额约12亿元&#xff0c;…

部署SpringBoot项目

方案一&#xff1a;纯手工部署 1&#xff0c;购买一台云服务器 这里我使用腾讯云&#xff0c;推荐Centos8/Centos7.6 2&#xff0c;安装springBoot项目所需要的环境 1&#xff0c;数据库单独安装在另一台服务器上&#xff0c;只需要修改IP地址即可 2&#xff0c;安装jdk yum…

MyBatis的#{}和${}:安全与灵活并存的SQL之道

MyBatis的#{}和${}&#xff1a;安全与灵活并存的SQL之道 MyBatis是一款广泛使用的Java持久化框架&#xff0c;提供了强大的SQL映射和数据库操作功能。在编写MyBatis的SQL语句时&#xff0c;我们经常会遇到#{}和${}两种不同的占位符语法。本文将详细解析#{}和${}的区别以及它们在…

微信小程序uniapp+django+python的酒店民宿预订系统ea9i3

Android的民宿预订系统设计的目的是为用户提供民宿客房、公告信息等方面的平台。 与PC端应用程序相比&#xff0c;Android的民宿预订系统的设计主要面向于民宿&#xff0c;旨在为管理员和用户、商家提供一个Android的民宿预订系统。用户可以通过Android及时查看民宿客房等。 An…

appium解锁android真机系统的屏幕

在使用appium进行app自动化操作的过程中&#xff0c;经常遇到的第一个难题就是如何解锁系统屏幕&#xff0c;也就是亮屏解锁。 实际上解决办法如下&#xff1a;在desired_capabilities中增加两个参数unlockType和unlockKey&#xff0c;类似的示例代码如下&#xff1a; desire…