题目描述

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。

现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 )。

输入格式

共22行。

第11行为一个字符串,其中只含字母,表示给定单词;

第22行为一个字符串,其中只可能包含字母和空格,表示给定的文章。

输出格式

一行,如果在文章中找到给定单词则输出两个整数,两个整数之间用一个空格隔开,分别是单词在文章中出现的次数和第一次出现的位置(即在文章中第一次出现时,单词首字母在文章中的位置,位置从00 开始);如果单词在文章中没有出现,则直接输出一个整数−1

 #include<iostream>
#include<string>
#include<vector>
#include<cctype>
using namespace std;
int main(){
int cal1=;
string::size_type cal2;
string::size_type tmp;
string letter,paragraph;
getline(cin,letter);
getline(cin,paragraph);
letter=' '+letter+' ';
for(auto &ch:letter){
ch=tolower(ch);
}
paragraph=' '+paragraph+' ';
for(auto &ch:paragraph){
ch=tolower(ch);
}
if((paragraph.find(letter))!=string::npos){
cal2=paragraph.find(letter);
}else{
cout<<-;
return ;
}
tmp=;
while((paragraph.find(letter,tmp))!=string::npos){
tmp=paragraph.find(letter,tmp);
tmp+=letter.length()-;
cal1++;
}
cout<<cal1<<" "<<cal2; }

字符串的输入直接getline(cin,str);(并无必要判断是否是无效输入)

本题使用find(str,pos)函数进行处理,千万记得:每次查找一遍后要刷新pos值,使其定位到string的新开头处

最新文章

  1. 使用ICSharpCode.SharpZipLib.Zip类库解压zip文件的方法
  2. Oldboy-Homework-Week1
  3. 告别我的OI生涯
  4. sublime3+quick3.5 完整使用教程
  5. i2c协议简要分析(转载)
  6. jquery TypeError: &#39;undefined&#39; is not a function (evaluating &#39;elem.nodeName.toLowerCase()&#39;) [jquery.js:1904]错误原因
  7. json2使用方法
  8. BZOJ2324: [ZJOI2011]营救皮卡丘
  9. Ghost win7 系统安装(虚拟机)
  10. Ubuntu12.04下使用virtualbox4.3.12 amd64安装XP系统教程
  11. 2014联合三所学校 (HDU 4888 HDU 4891 HDU 4893)
  12. windows下配置Java环境变量
  13. beat冲刺计划安排
  14. Linux下常用的shell操作
  15. vb.net 发Mail
  16. centos7 上配置Javaweb---MySQL的安装与配置、乱码解决
  17. Linux 下Redis集群安装部署及使用详解(在线和离线两种安装+相关错误解决方案)
  18. git基本命令之删除撤销操作
  19. 2018.10.19 NOIP模拟 硬币(矩阵快速幂优化dp)
  20. 十一:Centralized Cache Management in HDFS 集中缓存管理

热门文章

  1. elasticsearch x-pack license过期
  2. snprintf用错了快10年…
  3. 深度学习面试题11:池化(same池化、valid池化、带深度的池化)
  4. TLS整理(下):TLS如何保证安全
  5. JVM synchronized关键字所生成的字节码
  6. JDBC DataSource
  7. Spring cloud微服务安全实战-6-3JWT改造之网关和服务改造
  8. Spring cloud微服务安全实战-5-12实现基于token的SSO(2)
  9. 宣化上人:大佛顶首楞严经四种清净明诲浅释(1)(转自学佛网:http://www.xuefo.net/nr/article23/230609.html)
  10. mybatis 枚举typeHandler