思路参考https://www.cnblogs.com/panweiwei/p/6585956.html
#include "stdio.h"
#include "string.h"
#define MAX 100
char a[MAX], b[MAX];
char c[MAX+1][MAX+1] = {0};
int len_a, len_b;
void maxlong(int len_a, int len_b)
{
for (int i = 0; i < len_a; i++)
{
for (int j = 0; j < len_b; j++)
{
if (a[i] == b[j])
{
c[i + 1][j + 1] = c[i][j] + 1;
}
else
c[i + 1][j + 1] = c[i + 1][j] > c[i][j + 1] ? c[i + 1][j] : c[i][j + 1];
}
}
}
int main()
{
scanf("%s", a);
scanf("%s", b);
len_a = strlen(a);
len_b = strlen(b);
maxlong(len_a,len_b);
printf("%d", c[len_a][ len_b]);
}