题目描述


源代码
#include<iostream>
#include<cstring>
using namespace std;
const int N = 100;
//CCF 2014-09-3 字符串匹配
int main()
{
char key[N + 1], s[N + 1], lowkey[N + 1], lower[N + 1];
int opt, n;
cin >> key >> opt >> n;
strcpy(lowkey, key);
strlwr(lowkey);
for (int i = 1; i <= n; i++)
{
cin >> s;
if (opt == 0)//大小写无关
{
strcpy(lower, s);
strlwr(lower);
if (strstr(lower,lowkey))
{
cout << s << endl;
}
}
else
{
if (strstr(s, key))
cout << s << endl;
}
}
return 0;
}
关于这题
strcpy 字符串拷贝
strlwr 全变成小写
定义:strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
char str2 = “cdef”;
char str1 = “abcdefgh”;
则通过函数,将返回
strstr(str1,str2) = cdefgh;
如果str1不包含有str2。
char str2 = “cxef”;
char str1 = “abcdefgh”;
则通过函数,将返回
strstr(str1,str2) = NULL;
字符串匹配实现

本文介绍了一个字符串匹配的问题解决方法,使用C++实现。程序通过输入关键字和选项,判断大小写敏感性,然后逐一检查输入的字符串集合,输出包含指定关键字的所有字符串。文章详细展示了如何使用字符串操作函数如strcpy、strlwr及strstr。

605

被折叠的 条评论
为什么被折叠?



