题目描述
曾几何时,光芒万丈,一人之下,万人之上。可叹今日,zbk倒在血泊之中,兄弟联手他的未婚妻背刺了他,他的好兄弟小川夺走了属于他的一切,包括他的未婚妻。他如此爱他的未婚妻,为救他身负重伤,才给了小川可乘之机,但现在回想起来,自己也不过是一只爱情的添狗罢了。
濒死之际,恍惚中,zbk听到了一声呢喃,“如果我再给你一次机会,你又会做出怎样的抉择呢?” “你。。。你究竟是何方神圣?” "只是一直普通平凡恰恰好路过的禹longlong罢了。"
就这样在禹longlong的帮助下,zbk成功的回到了一年之前。这一世,zbk要拿回属于他的一切。但在此之前,他需要在人群中分辨出他复仇的对象是否在其中,因为zbk是个死舔狗,不忍心对未婚妻下手,因此他只需要找到小川就好了。对此,他发动了他的大编程术。
给定一个长度为n的字符串S,S全由小写字母组成,当这个字符串中存在子串“chuan”(不加引号)时,说明小川就在其中,小川可能有很多个,请输出在该字符串SSS中小川的数量。
输入描述:
1≤n≤10^5 然后输入一个长度为n且全为小写字母组成的字符串s。
输出描述:
输出一个非负整数,表示给定字符串中的子串chuan的数量。
示例1
输入
5
chuan
输出
1
示例2
输入
6
chuaan
输出
0
思路:
运用substr( )函数 从s [0] 开始取长度为5的子串,与 ”chuan“ 对比,如果相等,则次数+1;将次数输出即可
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,t=0;
string s;
string s1="chuan",s2;
cin>>n;
cin>>s;
for(i=0;i<n;i++){
s2=s.substr(i,5); //将取得的子串赋给s2
if(s2==s1)
t++;
}
cout<<t;
return 0;
}