CCF-训练50题-NO.6-字符串匹配问题
来源:互联网 发布:合同翻译软件 编辑:程序博客网 时间:2024/06/14 00:54
题目描述
给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入
输入的第一行包含一个字符串S,由大小写英文字母组成。
第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。
第三行包含一个整数n,表示给出的文字的行数。
接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。
输出
输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串S的行。
代码
#include <iostream>using namespace std;int main(){string example;string res;cin>>example;int l=example.size();bool judge;cin>>judge;int n;cin>>n;string *p=new string[n]; int pd=0; int time=0; int chu=1;for (int i=0;i<n;i++) cin>>p[i];for (int i=0;i<n;i++){int length=p[i].size();for (int j=0;j<length-l+1;j++){for(int k=j;k<j+l;k++){int o=k-j;if (judge==0){if (((p[i][k]-'a')==(example[o]-'A'))||((p[i][k]-'A')==(example[o]-'a'))||p[i][k]==example[o]) pd++; else {pd=0;break; }}else{if (p[i][k]==example[o]) pd++;else{pd=0;break;}}}if (pd==l){ time++; if (time==1) cout<<p[i];else cout<<endl<<p[i]; pd=0;break;} } }return 0;}
阅读全文
0 0
- CCF-训练50题-NO.6-字符串匹配问题
- CCF-训练50题-NO.16-字符串数字置换
- CCF-训练50题-NO.1-数塔问题
- CCF-训练50题-NO.2-图像旋转问题
- CCF-训练50题-NO.3-数字排序问题
- CCF-训练50题-NO.4-相邻数对问题
- CCF-训练50题-NO.7-日历问题
- CCF-训练50题-NO.9-约瑟夫问题
- CCF-训练50题-NO.5-画图
- CCF-训练50题-NO.13-数码管
- CCF-训练50题-NO.8-生理周期
- CCF-训练50题-NO.10-恺撒Caesar密码
- CCF-训练50题-NO.11-身份证校验
- CCF-训练50题-NO.12-多项式加法
- CCF-训练50题-NO.14-字母排列
- CCF-训练50题-NO.15-选美比赛
- CCF-训练50题-NO.17-写出来吧
- CCF-训练50题-NO.18-成绩大排队
- 正则表达式基础知识
- 【安全牛学习笔记】渗透测试介绍
- Python9--文件操作
- Python性能优化的20条建议
- 在编程和算法领域,有哪些经典问题
- CCF-训练50题-NO.6-字符串匹配问题
- PTA-输出全排列(DFS)
- 阿里云(Centos)下配置FTP服务器
- 欢迎使用CSDN-markdown编辑器
- 开发中获取项目下资源绝对路径方式有
- 1002A+B Problem
- selenium中的常见报错
- Java 网络编程初探(一)
- hibernate-3.2.0下载地址