#include<bits/stdc++.h>
#define ok 1
#define error 0
#define MAXSIZE 40
typedef char sstring[MAXSIZE-1];
#define DestoryString clearstring
typedef int Status;
using namespace std;
Status StrAssign(sstring t,char *chars)
{
if(strlen(chars)>MAXSIZE) return error;
else
{
t[0]=strlen(chars);
printf("%d\n",t[0]);
for(int i=1;i<=t[0];i++)
{
t[i]=*(chars+i-1);
}
return ok;
}
}
Status StrLength(sstring s)
{
return s[0];
}
Status Index(sstring S,sstring T,int pos)
{
int i,j;
if(1<=pos&&pos<=S[0])
{
i=pos;
j=1;
while(i<=S[0]&&j<=T[0])
if(S[i]==T[j])
{
++i;
++j;
}
else
{
i=i-j+2;
j=1;
}
if(j>T[0])
return i-T[0];
else
return 0;
}
else
return 0;
}
Status StrCompare(sstring s,sstring t)
{
int i;
for(int i=1;i<=s[0]&&i<=t[0];i++)
{
if(s[i]!=t[i])
{
return s[i]-t[i];
}
else
{
return s[0]-t[0];
}
}
}
void StrPrint(sstring t)
{
int i;
for(i=1;i<=t[0];i++)
{
cout<<t[i];
}
}
int main()
{
char s,c1[MAXSIZE+1],c2[MAXSIZE+1];
sstring s1,s2;
gets(c1);
gets(c2);
Status k1,k2;
k1=StrAssign(s1,c1);
k2=StrAssign(s2,c2);
if(k1==0||k2==0)
{
system("pause");
exit(0);
}
else
{
cout<<Index(s1,s2,1);
}
}
字符串匹配
最新推荐文章于 2021-04-29 12:32:43 发布