怎么打印在一句英语句子中,找出含有某个元素的最长单子。
#include <iostream>
#include <cstring>
#include <algorithm>
#include <sstream>
#include <cmath>
#include <cstdio>
using namespace std;
bool existchar(string s, char a)
{
int sLen = s.length();
for (int i = 0; i < sLen; i++)
{
if (s[i] == a)
{
return true;
}
}
return false;
}
int main()
{
string s;
getline(cin, s);
int sLen = s.length();
int maxLen = 0, cl;
string maxStr = "", cs;
for (int i = 0; i < sLen; i++)
{
if (s[i] != ' ')
{
cs += s[i];
}
else
{
if (existchar(cs, 'a'))
{
cl = cs.length();
if (cl > maxLen)
{
maxLen = cl;
maxStr = cs;
}
}
cs = "";
cl = 0;
}
}
if (existchar(cs, 'a'))
{
cl = cs.length();
if (cl > maxLen)
{
maxLen = cl;
maxStr = cs;
}
}
cout<<maxStr<<endl;
return 0;
}