外循环中控制字段的长度;
内循环中控制字段的首字母;
#include<iostream>
#include<string>
using namespace std;
int main()
{
string a, b;
while (cin >> a >> b)
{
int len1 = a.length();
int len2 = b.length();
if (len1 >= len2)//判断两个字符串的长短,对短字符串进行处理
{
for (int i = len2; i >= 0; i--)//外循环,控制匹配字段的长度
{
int d = 0;
for (int j = 0; j <= len2 - i; j++)//内循环,控制字段的起始位置
{
string temp = b.substr(j, i);
if (a.find(temp)!=string::npos)
{
cout << temp << endl;
d = 1;//控制结束外循环
break;
}
}
if (d == 1) break;
}
}
if (len1 <= len2)//判断两个字符串的长短,对短字符串进行处理
{
for (int i = len1; i >= 0; i--)
{
int d = 0;
for (int j = 0; j <= len1 - i; j++)
{
string temp = a.substr(j, i);
if (b.find(temp) != string::npos)
{
cout << temp << endl;
d = 1;
break;
}
}
if (d == 1) break;
}
}
}
}