因为是判断到不相同便不需要继续比较
所以写成函数比较方便
需要注意的是第二组输出
可以看出需要跳过已经”剪出”的字符串
所以对于循环的i的增加进行了判断
#include<stdio.h>
#include<string.h>
char s1[1020],s2[1020];
bool judge(int b,int l2) {
for(int i=0; i<l2; i++) {
if(s1[b+i]!=s2[i])
return false;
}
return true;
}
int main() {
while(scanf("%s",s1),s1[0]!='#') {
scanf("%s",s2);
int l1=strlen(s1),l2=strlen(s2);
int cnt=0;
for(int i=0; i<l1;) {
if(judge(i,l2)) {
i+=l2;
cnt++;
} else
i++;
}
printf("%d
",cnt);
}
return 0;
}
题目地址:【杭电】[2087]剪花布条