题目
分析
本题有一定的实用性。
第一个要点是,题目要求是全文搜索及全文匹配,也就是说,如果我们有这么一个字符串:abc bc like,那么搜索"bc"的时候,只能匹配"bc"而不能匹配"abc"中的"bc"。对于英文而言,处理方法很简单,分别在被搜索的字符串s和待搜索的字符串c之前加一个空格即可:
string c, s;
c = " " + c + " ";
s = " " + s + " ";
这里我们建议用" "而不是' '进行拼接。因为 string 的 + 运算符支持 const char* 和 string 的拼接,而 ' ' 是 char,可能导致类型不匹配错误。
第二个要点是,连续进行字符串输入时,需要用getchar()或者cin.ignore()跳过前一个字符串结尾的回车符。
第三个要点是,需要将字符串统一为小写,从而进行所谓“大小写不敏感”的搜索。
答案

思考
本题强调了字符串处理中的边界匹配和大小写处理,实用性强。更稳健的方式是用 stringstream 按空格拆词,然后逐个比较单词,避免边界问题。
