字符串匹配问题
来源:互联网 发布:js改变color rgb 编辑:程序博客网 时间:2024/06/07 17:00
题目描述
给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。
输入
输入的第一行包含一个字符串S,由大小写英文字母组成。
第二行包含一个数字,表示大小写敏感的选项,当数字为0时表示大小写不敏感,当数字为1时表示大小写敏感。
第三行包含一个整数n,表示给出的文字的行数。
接下来n行,每行包含一个字符串,字符串由大小写英文字母组成,不含空格和其他字符。
输出
输出多行,每行包含一个字符串,按出现的顺序依次给出那些包含了字符串S的行。
样例输入
Hello15HelloWorldHiHiHelloHiHiGrepIsAGreatToolHELLOHELLOisNOTHello
样例输出
HelloWorldHiHiHelloHiHiHELLOisNOTHello
#include<iostream>#include<string.h>using namespace std;int sign;int fun(char T[],char S[],int tlength,int slength,int pos){ int j=0,i=pos; while(i<tlength&&j<slength) { if(sign==1) { if(T[i]==S[j]) { i++; j++; } else { i=i-j+1; j = 0; } } else { if(S[i]>='A'&&S[i]<='Z') S[i]=S[i]+32; if(T[i]==S[j]||T[i]==S[j]-32) { i++; j++; } else { i=i-j+1; j=0; } } } return j==slength?i-slength:-1;} int main() { int i,n,h; char s1[105],s[105][105]; cin>>s1>>sign>>n; for(i=0;i<n;i++) cin>>s[i]; for(i=0;i<n;i++) { h=fun(s[i],s1,strlen(s[i]),strlen(s1),0); if(h!=-1)cout<<s[i]<<endl; } return 0; }
0 0
- 字符串查找匹配问题
- 字符串匹配问题
- 中文字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- js 字符串 匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串匹配问题
- 字符串通配符匹配问题
- 字符串匹配问题
- 1063:字符串匹配问题
- 日历问题
- mysql 忘记root密码后 ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
- c语言:奇偶个数
- 进程间通信详解 - 剪贴板实现
- [解题报告]376. Wiggle Subsequence
- 字符串匹配问题
- uber使用的一些体验
- [LightOJ 1342] Aladdin and the Magical Sticks (期望的线性性质+几何分布+邮票收集问题)
- 网络工程1.7——七层模型之二数据链路层
- 题目1015:还是A+B
- 进程间通信详解 - 命名管道实现
- android studio 计算器代码 不能连续运算
- 后缀数组入门——初步理解及模板
- 闲杂小记(三)