При решении задачи на первом этапе текст разбивается на слова. Затем массив слов сортируется по алфавиту с учетом первой буквы независимо от того строчная она или прописная. После сортировки по алфавиту, выбирается группа слов с одинаковой начальной буквой и проводится сортировка в этой группе по длине слова. Сортировки проводятся на основе пузырькового метода.
Описание переменных
| Идентификатор переменной | Тип данных | Функция, выполняемая в программе | |
| определение | ключевое слово | ||
| K | константа, целый | const int | Задает количество символов в строке |
| s[K] | символьный | char | Символьная строка вводимого текста |
| s1[K] | символьный | char | Символьная строка копии слова |
| s2[K] | символьный | char | Символьная строка копии слова |
| Del | символьный | char | Указатель на строку символов-разделителей |
| ps[K] | символьный | char | Массив указателей на слова |
| t | символьный | char | Указатель на слово |
| N | целый | int | Количество слов в введенном тексте |
| j | целый | int | Индекс текущего элемента массива слов |
| i | целый | int | Параметр цикла |
| m | беззнаковый целый | unsigned int | Десятичный код строчной буквы |
| M | беззнаковый целый | unsigned int | Десятичный код прописной буквы |
| gets() | указатель на строку | char* | Функция ввода строки (библиотечная) |
| strtok() | указатель на строку | char* | Функция возвращает указатель на лексему, ограниченную заданным разделителем (библиотечная). Используется для выделения слов из текста. |
| strcpy() | указатель на строку | char* | Функция копирования строк (библиотечная) |
| strlwr() | указатель на строку | char* | Функция приведения букв в строке к строчным буквам (библиотечная) |
| strlen() | беззнаковый целый | size_t | Функция определения длины строки (библиотечная) |






