Работа со строками

Для решения задачи вам нужно ввести строки с помощью функций gets или fgets, разбить строку на слова и выбрать нужные (функция scanf с форматом %s вводит строку до пробела, но в данной задаче вам не нужно так делать!). Стандартные функции работы со строками НЕ использовать! Обратите внимание, что во всех случаях слова могут разделяться любым (!) количеством символов, не относящихся к слову (будем считать, что к слову относятся большие и маленькие латинские буквы и цифры). Также обратите внимание на то, что «слово» и «подстрока» – разные термины.

Желательно всю обработку выполнить за один проход строки, хотя это возможно не во всех вариантах. Обязательно проверить работу программы на пустой строке и на строке, состоящей только из символов, не относящихся к слову.

Примеры см. в лекции 5.

  1. Сформировать строку из тех же слов исходной строки в обратном порядке.
  2. Сформировать строку заменой в исходной строке заданной подстроки на другую заданную подстроку (возможно разной длины).
  3. Сформировать строку, добавляя к каждой заданной подстроке другую заданную подстроку.
  4. Реверсировать буквы в каждом слове.
  5. Сформировать строку из слов исходной строки в алфавитном порядке.
  6. Сформировать строку из слов исходной строки в порядке увеличения количества символов в слове.
  7. Сформировать строку из слов исходной строки в порядке уменьшения количества символов в слове.
  8. Сформировать строку из слов исходной строки, содержащих повторяющиеся буквы.
  9. Сформировать строку из слов исходной строки, в которых нет повторяющихся букв.
  10. Сформировать строку, удалив из каждого слова исходной строки повторяющиеся в нем буквы.
  11. Сформировать строку, «склеив» первое слово с последним, второе с предпоследним и т.д.
  12. Сформировать строку, «склеив» первое слово со слово с номером (n + 1) / 2 + 1, второе – со словом с номером (n + 1) / 2 + 2 и т.д. (n – количество слов в строке).
  13. Сформировать строку из тех же слов исходной строки в обратном порядке.
  14. Сформировать строку заменой в исходной строке заданной подстроки на другую заданную подстроку (возможно разной длины).
  15. Сформировать строку, добавляя к каждой заданной подстроке другую заданную подстроку.
  16. Реверсировать буквы в каждом слове.
  17. Сформировать строку из слов исходной строки в алфавитном порядке.
  18. Сформировать строку из слов исходной строки в порядке увеличения количества символов в слове.
  19. Сформировать строку из слов исходной строки в порядке уменьшения количества символов в слове.
  20. Сформировать строку из слов исходной строки, содержащих повторяющиеся буквы.
  21. Сформировать строку из слов исходной строки, в которых нет повторяющихся букв.
  22. Сформировать строку, удалив из каждого слова исходной строки повторяющиеся в нем буквы.
  23. Сформировать строку, «склеив» первое слово с последним, второе с предпоследним и т.д.
  24. Сформировать строку, «склеив» первое слово со слово с номером (n + 1) / 2 + 1, второе – со словом с номером (n + 1) / 2 + 2 и т.д. (n – количество слов в строке).
  25. Сформировать строку из тех же слов исходной строки в обратном порядке.
  26. Сформировать строку заменой в исходной строке заданной подстроки на другую заданную подстроку (возможно разной длины).
  27. Сформировать строку, добавляя к каждой заданной подстроке другую заданную подстроку.
  28. Реверсировать буквы в каждом слове.
  29. Сформировать строку из слов исходной строки в алфавитном порядке.
  30. Сформировать строку из слов исходной строки в порядке увеличения количества символов в слове.