文字列の中で最も長い単語を求めます
2104 ワード
文字列の中で最も長い単語の説明を求めます:1つの与えられた文字列の中から、最も長い単語を探して、文字列はスペースで異なる単語の運行時間の制限を分けます:無制限のメモリの制限:無制限の入力:任意の文字列、任意の文字列を入力することを許可して、複数の単語の間はすでにスペースで区切られて、総長128出力を超えない:文字列の中で最も長い単語サンプル入力:Hi worldサンプル出力:world答えヒント:hello worldのような同じ長さの結果が複数存在する可能性があります.結果はhello worldです.複数の同じ結果間を(1つの)スペースで区切る
struct node
{
string x;
int y;
};
void main()
{
string a;
getline(cin, a);
int loc = a.find_first_of(" ");
int max = 0;
node word[128];
int cnt = 0;
while (loc != -1)
{
word[cnt].x = a.substr(0, loc);
word[cnt].y = word[cnt].x.length();
max = max > word[cnt].y ? max : word[cnt].y;
cnt++;
a = a.substr(loc + 1);
loc = a.find_first_of(" ");
}
word[cnt].x = a.substr(0, loc);
word[cnt].y = word[cnt].x.length();
max = max > word[cnt].y ? max : word[cnt].y;
cnt++;
for (int i = 0; i < cnt; i++)
{
if (word[i].y == max)
{
cout << word[i].x << " ";
}
}
}