返回顶部

收藏

匹配单词的前后必须是其他非字母的字符

更多

[C/C++]代码

#include <iostream>
#include <string>
using namespace std;
int main()
{
int k, e, i, j, res = 1;
string strK[21], strE[21],strk[21], stre[21];
int num[21];
int maxlen = 0;
unsigned int loc = 0;
unsigned int loc1 = string::npos;
while (cin>>k>>e)
{
   if(k<=0 || e<=0)
    break;
   for (i=0; i<21; i++)
    num[i] = 0;
   for (i=0; i<k; i++) 
   {
    cin>>strK[i];
    strk[i].assign(strK[i]);
    for (j=0; j<strK[i].size(); j++)
     if (strK[i][j]>='A' && strK[i][j]<='Z')
      strK[i][j]+=32;
   }
   getchar();
   for (i=0; i<e; i++)
   {
    getline(cin, strE[i]);
    stre[i].assign(strE[i]);
    for (j=0; j<strE[i].size(); j++)
     if (strE[i][j]>='A' && strE[i][j]<='Z')
      strE[i][j]+=32;
   }
   maxlen = 0;
   for (i=0; i< e; i++)
   {
    for (j=0; j<k; j++)
    {
     loc = 0;
     while ((loc1=strE[i].find( strK[j],loc))!=string::npos)
     {
      int b = loc1;
      int en = loc1 + strK[j].size();
      int len = strE[i].size();
      if (b==0 || (b>0 && (strE[i][b-1]<'a'||strE[i][en]>'z')))
      {
       if (en<len&&(strE[i][en]<'a'||strE[i][en]>'z'))
        num[i]++;
       else if(en == len)
        num[i]++;
      }
      loc = loc1 + 1;
     }

    } 
    if (num[i] > maxlen)
     maxlen = num[i];
   }
   cout<<"Excuse Set #"<<res++<<endl;
   for (i=0; i<e; i++)
   {
    if (num[i] == maxlen)
     cout<<stre[i]<<endl;
   }
   cout<<endl;
}
return 0;
}

标签:c/c++

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. yuer 发表 2018-07-27 08:46:07 coredump之百米之内必有解药
  2. hev 发表 2018-04-28 06:11:38 一个简单、轻量的 Linux 协程实现
  3. hev 发表 2017-10-19 15:56:11 FSH – 助你接入私有网络中的 Linux 终端
  4. gonwan 发表 2015-04-15 08:03:07 Database Access Layer in C++
  5. gonwan 发表 2015-12-28 08:41:13 Basic Usage of Boost MultiIndex Containers
  6. gonwan 发表 2016-01-19 03:37:54 Coroutines in C++/Boost
  7. Haoxiang Li 发表 2017-10-25 20:29:02 MXNet C++ Deployment
  8. yuer 发表 2017-10-20 07:52:47 基于leveldb的持久消息队列SDK
  9. yuer 发表 2017-10-07 07:51:32 c++11完美转发
  10. 博主 发表 2016-09-03 00:00:00 C++编译期类型信息的利用
  11. yuer 发表 2017-09-06 03:03:29 libcurl访问unix socket
  12. yuer 发表 2017-09-07 08:14:58 valgrind检测php扩展的warning

发表评论