t = input().split() # ввод строки как массива слов
i = t.index(sorted(t, key=len, reverse=True)[0]) # индекс первого самого длинного слова
t[0], t[i] = t[i], t[0] # обмен слов местами
print(*t) # вывод
#include <iostream>
#include <vector>
using namespace std;
int main() {
int mx = -1;
string s;
vector<string> t;
while (cin >> s) {
if (mx < 0 || s.size() > t[mx].size()) {
mx = t.size();
}
t.push_back(s);
}
if (mx > 0) {
s = t[0];
t[0] = t[mx];
t[mx] = s;
}
for (auto &s : t) { cout << s << ' '; }
}
#include <algorithm>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
int main() {
string line;
getline(cin, line);
istringstream iss(line);
vector<string> words;
string word;
string next;
iss >> word;
words.push_back(word);
size_t i = 0;
size_t j = 0;
while (iss >> next) {
words.push_back(next);
++i;
if (word.length() < next.length()) {
word = next;
j = i;
}
}
if (j != 0) {
swap(words.front(), words[j]);
line.clear();
for (const auto& item : words) line += item + ' ';
line.pop_back();
}
cout << line << '\n';
}
s
, состоящая из слов и пробелов, разделяющих слова. Определите самое длинное слово в строке и поменяйте его местами с первым. Если существует несколько слов с максимальной длиной, поменяйте первое из них.
Входные данные
В единственной строке задана непустая строка
s
, состоящая из слов и пробелов, разделяющих слова. Слова состоят из строчных букв латинского алфавита. Слова разделены ровно одним пробелом. Длина строки
s
не превосходит
10
3
.
Выходные данные
Выведите исходную строку, поменяв первое слово с самым длинным. Если существует несколько слов с максимальной длиной, поменяйте первое из них.