GitBook

这里写图片描述 这里写图片描述

因为是判断到不相同便不需要继续比较 所以写成函数比较方便

需要注意的是第二组输出 可以看出需要跳过已经”剪出”的字符串

所以对于循环的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\n",cnt);
	}
	return 0;
}

题目地址:【杭电】[2087]剪花布条