#include
#define N 100
char a[N], b[N], str[N];
int c[N][N];
int lcs_len(char* a, char* b, int c[][N])
{
int m = strlen(a), n = strlen(b), i, j;
for( i=0; i<=m; i++ )
c[i][0]=0;
for( i=0; i<=n; i++ )
c[0][i]=0;
for( i=1; i<=m; i++ )
{
for( j=1; j<=n; j++ )
{
if (a[i-1]==b[j-1])
c[i][j]=c[i-1][j-1]+1;
else if (c[i-1][j]>=c[i][j-1])
c[i][j]=c[i-1][j];
else
c[i][j]=c[i][j-1];
}
}
return c[m][n];
}
char* build_lcs(char s[], char* a, char* b)
{
int i = strlen(a), j = strlen(b);
int k = lcs_len(a,b,c);
s[k] = '\0';
while( k>0 )
{
if (c[i][j]==c[i-1][j])
相關(guān)推薦:
2011計算機等級考試二級C輔導(dǎo)實例編程匯總
計算機等級考試二級C語言歷年真題匯總(2005-2010)
2011年計算機等級考試二級C語言常見問題匯總
計算機等級考試二級C語言常見知識點總結(jié)