已解决 李素妍 新手天翼 #include <iostream> #include <string> using namespace std; int main(){ string s1,s2; cin>>s1>>s2; int p=s1.find(s1,0),cnt=1; if(p==-1){ cout<<0; } else{ while(p){ p=s1.find(s2,p+1); if(p==-1){ break; } cnt++; } cout<<cnt; } return 0; }
已采纳 王子健 初级天翼 你的做法麻烦且错误,正确做法: while死循环找,找到了删除此次找的,如果f==-1就break,很简单的思路,被你弄复杂了,代码如下: 输入+定义: while循环: 最后输出s PS:大家不要误会,我从来不发代码,每次都是先给思路然后粘图,他自己打一遍会印象很深的