程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UVa409 - Excuses, Excuses!

UVa409 - Excuses, Excuses!

編輯:C++入門知識

#include <cstdio>
#include <cctype>
#include <cstring>
int main()
{
 int num[1000],maxnum;
 char word_list[1000][100];
 char excuse[1000][100];
 char s[1000][100];
 int i,j,k,l;
 int cas=1;
 int n,m;
 while(scanf("%d %d",&m,&n)!=EOF)
 {
  for(i=0;i<m;++i)
   scanf("%s",word_list[i]);
  getchar();
  for(i=0;i<n;++i)
  {
   gets(excuse[i]);
   strcpy(s[i],excuse[i]);
  }
  for(i=0;i<n;++i)
  {
   int len=strlen(s[i]);
   for(j=0;j<len;++j)
   {
    if(isupper(s[i][j]))
     s[i][j]=s[i][j]-'A'+'a';
   }
   num[i]=0;
  }
  maxnum=0;
  for(i=0;i<m;++i)//word_list
  {
   for(j=0;j<n;++j)//excuse
   {
    int len=strlen(s[j])-strlen(word_list[i])+1;
    for(k=0;k<len;++k)
    {
     if(s[j][k]==word_list[i][0])
     {
      int flag=1;
      for(l=0;l<(int)strlen(word_list[i]);++l)
      {
       if(word_list[i][l]!=s[j][k+l])
       {
        flag=0;
        break;
       }
      }
      if(flag==1&&!isalpha(s[j][k-1])&&!isalpha(s[j][k+l]))
       num[j]++;
     }
    }
    if(num[j]>maxnum)
     maxnum=num[j];
   }
  }
  printf("Excuse Set #%d\n",cas++);
  for(i=0;i<n;++i)
  {
   if(maxnum==num[i])
    printf("%s\n",excuse[i]);
  }
  printf("\n");
 }
 return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved