zoukankan      html  css  js  c++  java
  • chaper3_exerise_Uva10340_子字串

     1 #include<iostream>
     2 #include<string>
     3 #include<cstring>
     4 using namespace std;
     5 
     6 int Find(char *fstr, char *sstr)
     7 {
     8     int lenf = strlen(fstr), lens = strlen(sstr), i;
     9     for (i = 0; i < lenf; i++)            
    10     {
    11         int k = i;                              //搜寻从下一个字符作为首字符开始 
    12         int j = 0;                              //子串每次都从第一个字符开始 
    13         while (fstr[k] && sstr[j]) {            //结束条件是,其中一个字符串到达了'' 
    14             int _i;
    15             for (_i = k; _i < lenf; _i++) {     //在fstr中查找sstr[j]字符
    16                 if (fstr[_i] != sstr[j])        //找不到继续 
    17                     continue;
    18                 else {
    19                     j++; k = _i; k++;  break;  //将找到sstr[j]字符的下一个位置赋给k,再扫描后面是否有新sstr[j] 
    20                 } 
    21             }
    22             if (_i == lenf)      //如果找不到--如何处理---如果连一个字符都没有相同的,这个就可以得出无法得出了 
    23                 return false;
    24         }
    25         if (j == lens) {
    26             return true;
    27         }
    28         else
    29             continue;
    30     }
    31     if (i == lenf) 
    32         return false;
    33 }
    34 
    35 const int maxn = 1010;
    36 
    37 int main()
    38 {
    39     char s[maxn], t[maxn];
    40     cin >> s >> t;
    41     if (Find(t, s))
    42         cout << "Yes" << endl;
    43     else
    44         cout << "No" << endl;
    45     return 0;
    46 }
  • 相关阅读:
    Matlab之画图
    Evaluation
    Matlab之文件读写
    Matlab之cell使用
    Windows装机指南
    C之文件读写
    Linux之用户管理
    linux和Windows下文本格式转换
    round()
    pow()
  • 原文地址:https://www.cnblogs.com/douzujun/p/5584883.html
Copyright © 2011-2022 走看看