这个怎么搞不会弄,教教我

怎么打印在一句英语句子中,找出含有某个元素的最长单子。


#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;
}