33-计算字符串出现次数

问题描述:

某天,小红和小兰在公园里散步,走着走着,我的天!他们各自都捡到了一串漂亮的字符串,然而小红好奇心比较重,他想知道自己的字符串在小兰的字符串中出现了多少次,例如小兰的字符串为abababa,小红的字符串为aba,那么小红的字符串在小兰的字符串中出现了 3 次。小红一向比较傲娇,于是向你请教,你可以帮帮他么?

输入格式

输入包含两行,第一行为小兰捡到的字符串,第二行为小红捡到的字符串。两个字符串可能包含除换行、回车、\0外的任何字符。两个字符串长度均不大于 1000

输出格式

请你帮小兰找出他的字符串里出现了多少次小红的字符串。

样例输入1
i miss you!
you
样例输出1
1
样例输入2
ossosso
osso
样例输出2
2

代码解析:

#include<iostream>
#include<cstring>
using namespace std;
int main(){
    string a,b;
    getline(cin,a);//将第一次输入的内容放置a串中,回车结束输入 
    getline(cin,b);
    int num=0;//计数 
    int index=a.find(b,0);//第一次匹配,返回其索引值 
    //+1, 继续找 
    while(index!=string::npos){
        num++;
        index+=1;
        index=a.find(b,index);
    }
    cout<<num;
    return 0;
}

关于知识点内容查看: http://blog.csdn.net/Richard__Ting/article/details/79437705
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值