输入两个字符串(分两行输入),判断第二个在第一个里出现了多少次
第二个字符串允许使用通配符'?',第一个字符串不出现'?'
输入:
aabczaecbca ccabce
a?c
输出
4
难度:Very easy
第二个字符串允许使用通配符'?',第一个字符串不出现'?'
输入:
aabczaecbca ccabce
a?c
输出
4
难度:Very easy
来源:http://www.yzfy.org/dis/listpost.php?tid=8&extra=page%3D1
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
//#define LOCAL
#define MAXN 100
char dict[MAXN];
char word[MAXN];
int main(int argc, char* argv[])
{
#ifdef LOCAL
freopen("data.in", "r", stdin);
freopen("data.out", "w", stdout);
#endif
int n, m, i, j, flag, ans;
while( scanf("%s%s", dict, word) != EOF)
// while( fgets(dict, sizeof(dict), stdin) == dict );
{
// fgets(word, sizeof(word), stdin);
ans = 0;
n = strlen(dict)-1;
m = strlen(word)-1;
for(i=0; i<=n-m; i++)
{
flag = 0;
for(j=0; j<=m; j++)
{
if(word[j] != '?')
{
if(word[j] == dict[i+j]) continue;
else
{
flag = 1;
break;
}
}
}
if( flag == 0) ans++;
}
printf("%d\n", ans);
}
return 0;
}