bf.c

来自「BF和KMP算法实例」· C语言 代码 · 共 43 行

C
43
字号
/*BF算法实例*/
int index_BF(char *s,char *t)
{
int i,j;
i=j=1;
while(i<=strlen(s)&&j<=strlen(t))
if(s[i]==t[j])
{
i++;j++;
}

else
{
 display(s,t,i,j);
 i=i-j+2; j=1;
}


if(j>=strlen(t))
{display(s,t,i,j);return (i-j+2);}
else return -1;
}
display(char s[],char t[],int i,int j)
{
int n;
for(n=0;n<strlen(s);n++)
printf(" %c",s[n]); printf("\n");
for(n=0;n<i-j;n++) printf("  ");
for(n=0;n<strlen(t);n++) printf(" %c",t[n]); printf("\n\n");
}
main()
{
char a[50],c[50];
int b[50],i;
printf("Enter string a:");
scanf("%s",a);
printf("Enter string b:");
scanf("%s",b);
i=index_BF(a,b);
printf("The result is %d\n",i);
getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?