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

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

 

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

 

 

#include <iostream>

#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;

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值