改完了,谢谢各位大神的帮助。
/*
公共子序列 */
#include<stdio.h>
#include<string.h>
int A(char r[],char t[]);
int main()
{
char s1[100],s2[100],t[20];
int n;
printf("请输入主串一:");
gets(s1);
printf("请输入主串二:");
gets(s2);
printf("请输入模式:");
gets(t);
n=A(s1,t)+A(s2,t);
if(n==0)
printf("%s是公共子序列",t);
else
printf("%s不是公共子序列",t);
return 0;
}
int A(char r[],char t[])
{
int i=0, j=0, p=0, k=strlen(r), l=strlen(t);
for(;i<l;i++)
{
for(;j<k;j++)
{
if(t[i]==r[j])
{
p++;
j++;
break;
}
}
if(j==k)
break;
}
if(p==l)
return 0;
else
return 1;
}