代码如下:
#include “stdio.h“
#include “stdlib.h“
#include
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASLBLE -1
#define MAXSTRLEN 255
typedef unsigned char SString[MAXSTRLEN+1];
using namespace std;
void get_next(SString T, int next[]) { //数组传参为int a[] 格式
int i=1;
next[1]=0;
int j=0;
while (i T[0])
return i - T[0];
else
return 0;
}
int main()
{
SString T,S;
int i,j,n;
char ch;
int pos = 0;
cin>>n;
ch=getchar();
for(j=1;j<=n;j++)
{
ch=getchar();
for( i=1;i<=MAXSTRLEN&&(ch!=‘
‘);i++)
{
S[i]=ch;
ch=getchar();
}
S[0]=i-1;
ch=getchar();
for( i=1;i<=MAXSTRLEN&&(ch!=‘
‘);i++)
{
T[i]=ch;
ch=getchar();
}
T[0]=i-1;
pos = Index_KMP(S,T,pos);
printf(“%d
“,pos);
}
return 0;
}
测试数据用例 No.1
标准输入数据:
4
aijeofiowejfaewrg
wejaf
kaueowgawejfoweji
fowej
ajefijwahgawefjiow
aje
fauwoefgoawejfoe
o
标准输出答案:
1|0
2|12
3|1
4|5
你的错误输出结果:
1|0
2|12
3|0
4|5
而输入:
2
kaueowgawejfoweji
fowej
fauwoefgoawejfoe
o
答案为:
12
15