牛骨文教育服务平台(让学习变的简单)
博文笔记

C++实现统计字符串出现次数

创建时间:2008-11-12 投稿人: 浏览次数:4910

    问题:在一字符串中查找一子串串并统计其出现的次数。

 

    分析:解决这个问题若用C语言实现的话需要用到strchr()和strncmp()函数来进行子串的查找,然后统计其出现次数。而这里我用到C++中string字符串的函数进行实现,算法的思路是当查找到一个子串之后,就把这个子串从原来的字符串中删去。代码如下:

 

 

#include <iostream><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

#include <string>

 

using namespace std;

 

int main()

{

            int n=0,sum=0;

            string s1("qwertyqwertyqwerty");

            string s2("ert");

            string temp=s1;

            while (1){                                 //循环:查找到子串就把子串删去

                        n=temp.find(s2);                     //返回子串的位置

                        if (n!=-1){        //n=-1表示未找到子串

                                    temp=temp.substr(n+s2.length(),temp.length()-s2.length());   //开一个新的字符串变量temp存储删去子串后的字符串

                                    sum++;           //出现次数

                        }

                        else break;

            }

            cout<<sum;

}

 

 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。