zoukankan      html  css  js  c++  java
  • 子串问题(函数、字符串、指针)

    问题描述】
    请编写函数统计子串substr在母串str中出现的次数。函数原型如下,返回值为出现的次数:
    int Count(char *str, char *substr);

    【样例说明】 第一行为母串、第二行为子串

    【样例输入】
    abcbcbc
    bcb

    【样例输出】 2

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int Count(char  *str, char *substr);
    
    int main()
    {
        char str_s[50], substr_s[50];
        cin >> str_s >> substr_s;
        int num = Count(str_s,substr_s);
        cout << num <<endl;
        return 0;
    }
    
    int Count(char  *str, char *substr)
    {
        int countnum = 0;//计数
        for( int i=0; i<(int)strlen(str); ++i )//以此查找字符串的每个字符
        {
            //先讨论子串只有一个字符长度的情况
            if( *(str+i) == *(substr) && strlen(substr)==1 )//如果下标为i的字符和子串的第一个字符一样
                countnum++;//计数加一
    
            //再讨论其他长度子串的情况
            else if( *(str+i) == *(substr) )
            {
                bool key = 1;//开关打开
                for(int I=i+1,J=1;I<i+(int)strlen(substr);++J,++I)//遍历对比
                    if( *(str+I) != *(substr+J) ) key = 0;//如果字符串中有一个不符合就关上开关
                if(key==1) countnum++;
            }
        }
        return countnum;
    }
    
  • 相关阅读:
    今日成长笔记2016-11-18
    牛人博客
    c 、c++、java区别
    Java开发中的23种设计模式详解
    JAVA编程规范
    设计及编码质量改进之降低耦合度
    加密
    敏捷开发之Scrum扫盲篇
    RPC
    李洪强iOS开发Swift篇—04_运算符
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626129.html
Copyright © 2011-2022 走看看