C++刷题日记:Day 1

题目描述

小明是一野生动物园的管理人员,他统计了一份野生动物的名单,糟糕的是,因为操作不当导致打乱了名单,每种野生动物出现的次数都无法进行查询。

小明只能重新进行统计,已知名单中的动物名称只由大小写字母构成,不存在其他字符,屋漏偏逢连夜雨,小明的健盘输入也出现了问题,输入的动物名称可能与名单中的名称大小写不一致,所以只有当输入的名称与名单中的名称在都小写的情况下字母完全相同并且不是某个动物名称的一部分才说明是同一种野生动物,小明想要知道K种野生动物在名单当中的所有位置以及出现次数。

输入描述

第一行为一个字符串,只包含大小写以及空格,表示动物名单。

第二行为一个整数K,表示需要统计K种野生动物。

接下来K行,每行为一个字符串,只包含大小写字母,表示野生动物名称。

输出描述

输出若干行,如果出现过则输出2行,第一行若干个数字表示野生动物在名单当中的所有位置(只输出动物名称首字母在名单中的位置),第二行一个数字表示该野生动物出现的次数,如果没有出现过,则输出-1。

考察点

string字符串

=输入

===geline()输入

===正常输入

=运用

===字符串取长度

===字符串拼接

===字符串转小写

===字符串查找

参考答案

#include <iostream>
#include <string>
using namespace std;int main()
{// 输入动物名单string animals;getline(cin, animals);int len_animals = animals.length(); // 获取名单长度for (int i = 0; i < len_animals; i++){animals[i] = tolower(animals[i]); // 全部转小写}animals = ' ' + animals + ' '; // 为了保证不是查询的动物不是某个动物的一部分,头尾加空格// 输入统计动物数量int k;cin >> k;// 统计动物string find;for (int i = 1; i <= k; i++){cin >> find;int len_find = find.length(); // 获取查询动物的长度for (int i = 0; i < len_find; i++){find[i] = tolower(find[i]); // 全部转小写}find = ' ' + find + ' '; // 为了保证不是查询的动物不是某个动物的一部分,头尾加空格// 开始统计int pos = animals.find(find);if (pos == string::npos) // 找不到查询动物{cout << -1 << endl;continue;}int cnt = 0; // 统计的计数器while (pos != string::npos) // 还有出现的想要查询的动物{cout << pos << ' ';pos = animals.find(find, pos+1);cnt++;}cout << cnt;}return 0;
}

运行效果

 

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

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

相关文章

实用工具合集(持续更新...)

一、搜索引擎 1.1、小白盘 网站&#xff1a;https://www.xiaobaipan.com 度盘资源搜索的网站&#xff0c;能够搜索电影、电视剧、小说、音乐等资源&#xff08;注意&#xff1a;评论区很多小伙伴说小白盘有毒&#xff0c;我用谷歌浏览器搜索过几次并无大碍&#xff0c;请慎用…

如何荒废你的2024?

这个演讲题目出人意料&#xff0c;当大家都在想着如何才能获得幸福、快乐、成功的时候&#xff0c;芒格却在跟我们讲“如何获得痛苦&#xff1f;” 为什么&#xff1f; 因为只有知道了自己不想过怎样的生活&#xff0c;才能想尽办法避免它&#xff1b;同样&#xff0c;也只有…

python3-cookbook-查找最大或最小的 N 个元素

第一章&#xff1a;数据结构和算法 Python 提供了大量的内置数据结构&#xff0c;包括列表&#xff0c;集合以及字典。大多数情况下使用这些数据结构是很简单的。但是&#xff0c;我们也会经常碰到到诸如查询&#xff0c;排序和过滤等等这些普遍存在的问题。 因此&#xff0c;这…

C++ day 1

思维导图 使用C编写一个程序&#xff0c;输入一个字符串&#xff0c;统计大小写字母、数字、空格和其他符号的个数 #include <iostream>using namespace std;int main() {int capital 0;int lower 0;int digit 0;int spaces 0;int others 0;cout << "请…

从全流程的角度来了解python包的使用,也许你会有不一样的认识

在python中&#xff0c;只要我们一谈到包或模块&#xff0c;基本默认说的就是包的导入和使用。也就是说只要我们知道包的名字&#xff0c;导入后知道怎么使用基本就可以了&#xff0c;但本人认为&#xff0c;我们仅仅了解的是包的一部分&#xff0c;若想对包有个整体的认识&…

EXCEL VBA调用adobe的api识别电子PDF发票里内容并登记台账

EXCEL VBA调用adobe的api识别电子PDF发票里内容并登记台账 代码如下 使用须知&#xff1a; 1、工具--引用里勾选[Adobe Acrobat 10.0 Type Library] 2、安装Adobe Acrobat pro软件Dim sht As Worksheet Function BrowseFolders() As String 浏览目录Dim objshell As ObjectDim…

小白的AI编程之路

AI初见 这两年各类大模型搜索引擎不断面世&#xff0c;BingChat,ChatGPT等等&#xff0c;网上对其各种神乎其神的描述和各种正面负面的评论纷至沓来&#xff0c;本着百闻不如一见的心态&#xff0c;我也注册了这些搜索引擎&#xff0c;然后开始了和这些AI小助手们的日常。 面…

测试模型分类

测试模型 1. 概述 软件测试和软件开发一样,都遵循软件工程原理,遵循管理学原理,所以理解好软件的开发模型会便于理解测试模型. 软件测试的一般流程: 我们发现一般的软件测试流程和软件开发的流程一样,但是这样的流程测试介入的较晚,对于前期重大的bug很难修复.所以测试的流程…

网工内推 | 急招网工、运维,弹性工作,不加班,最高22K

01 Finogeeks 招聘岗位&#xff1a;运维工程师 职责描述&#xff1a; 1、负责FinClip小程序数字化管理系统产品的POC测试、交付部署、日常巡检工作&#xff0c;包括&#xff1a;交付运维方案、安装部署、数据对接调试、安全事件分析、日常巡检维护等 2、负责FinClip小程序数字…

QCustomPlot开源库使用

1.简介 QCustomPlot是用于绘图和数据可视化的Qt C 小部件。它没有进一步的依赖关系&#xff0c;并且有据可查。该绘图库专注于制作美观&#xff0c;出版质量的2D绘图&#xff0c;图形和图表&#xff0c;以及为实时可视化应用程序提供高性能。看一下“ 设置”和“ 基本绘图”教…

css的flex-direction: column;与direction: rtl;的作用

flex 个人理解 对子元素影响 设为 Flex 布局以后&#xff0c;子元素的float、clear和vertical-align属性将失效。 作用自身的样式 1. flex-direction 属性决定主轴的方向(即项目的排列方向) 2. flex-wrap属性定义,如果一条轴线排不下&#xff0c; 如何换行。 3. flex-flow属性…

Java的异常处理

九. 异常处理 1.try - catch 回忆之前我们对异常的使用&#xff0c;我们用异常改变了方法执行流程 public class TestTry {public static void main(String[] args) {System.out.println(1);test(0.0);System.out.println(3);}public static void test(double p) {if(p <…

docker: 修改容器的端口

修改运行中容器的端口 正在运行的容器端口冲突了&#xff0c;但是还需要这个容器&#xff0c;怎么办&#xff1f;只能修改端口了 过程&#xff1a; 停止需要修改的容器 修改hostconfig.json文件 重启 docker 服务 启动修改容器 停止需要修改的容器 [roottest ~]# docke…

猫头虎分享:已解决RuoYi-Vue3 项目代码生成器默认生成代码使用的Vue2模板代码问题与Vue2升级到Vue3解决方案

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通Golang》…

PHP中一些特征函数导致的漏洞总结

第一部分&#xff1a; 特征函数 接触到几个常用的函数&#xff1a; \\ \\\ md5 intval strpos in_array preg_match str_replacephp用这些函数实现过滤一些代码&#xff0c;漏洞可能有一些特性&#xff0c;利用这些特征代码进行对比&#xff1b;账号密码对比&#xff1b;强制检…

npm 报错 request to https://registry.cnpmjs.org/vue failed, reason:

npm 报错 request to https://registry.cnpmjs.org/vue failed, reason:_qq62581587d2bea的技术博客_51CTO博客 本来是非常简单的一个报错。 正常情况下&#xff0c;按照网上的方法就可以解决问题。 但是我尝试了使用代理、换源、重装node.js&#xff08;但是npm的配置参数没…

由于找不到msvcr120.dll,无法继续执行代码

一、msvcr120.dll作用介绍 msvcr120.dll文件是Microsoft Visual C Redistributable Package的一部分&#xff0c;它是一个动态链接库&#xff08;DLL&#xff09;文件。这个文件在Windows操作系统中提供C运行时库支持&#xff0c;包含了大量系统级函数和对象&#xff0c;这些函…

jetson-inference----docker内运行分类任务

系列文章目录 jetson-inference入门 jetson-inference----docker内运行分类任务 文章目录 系列文章目录前言一、进入jetson-inference的docker二、分类任务总结 前言 继jetson-inference入门 一、进入jetson-inference的docker 官方运行命令 进入jetson-inference的docker d…

数据结构——静态链表

1.定义&#xff1a; &#xff08;1&#xff09;单链表&#xff1a;各个结点散落在内存中的各个角落&#xff0c;每个结点有指向下一个节点的指针(下一个结点在内存 中的地址); &#xff08;2&#xff09;静态链表&#xff1a;用数组的方式来描述线性表的链式存储结构: 分配一…

【业务功能篇133】 Mysql连接串优化性能问题

rewriteBatchedStatementstrue开启了MySQL驱动程序的批量处理功能。 spring.datasource.urljdbc:mysql://localhost:3306/mydatabase?rewriteBatchedStatementstrue 在MyBatis Plus框架中&#xff0c;批量插入是一种高效的数据库操作方式。通过开启rewriteBatchedStatementstr…