题目:hdu4847:Wow! Such Doge!


题目大意:在给出的段落里面找出“doge”出现的次数。大写和小写都能够。

解题思路:字符串匹配问题,能够在之前将字母都转换成统一格式。


代码:

#include <stdio.h>
#include <string.h>

const int N = 1e6;
char str[N];
const char *s1 = "doge";

int find () {
	
	int sum = 0;
	char *p = strstr(str, s1);
	while (p != NULL) {
		
		sum++;
		p = p + 4;
		//if (*p == '\0')
		//	break;

		p = strstr (p, s1);
	}
	return sum;
}

int main () {

	int count = 0;
	while (scanf ("%s", str) != EOF) {

		for (int i = 0; i < strlen (str); i++) 
			if (str[i] >= 'A' && str[i] <= 'Z')
				str[i] += 32;
		count += find ();	
	}
	printf ("%d\n", count);
	return 0;
}


posted on 2017-05-12 09:36  lxjshuju  阅读(177)  评论(0编辑  收藏  举报