Сначала определите вашу проблему с помощью алгоритма. Например, сделайте блок-схему. Проведите несколько быстрых примеров в своей логике, как это сделали другие постеры. Сделайте все это , прежде чем писать код .
Затем, если вы думаете, что у вас есть лучший алгоритм, напишите это на C.
Придумайте список вопросов, которые нужно задать себе, например: «Что такое слово?», «Что не слово?».
Для анализа текста или токенов любого рода вам может быть интересно выразить свои идеи в виде формы Бэкуса-Наура . Взгляните на любые спецификации компьютерных языков и обратите внимание, как они определяют что-то вроде идентификатора. Даже если вы не используете это для написания своей программы, это должно помочь вам разобраться в проблеме.
Ограничены ли слова буквенными символами a-z и A-Z? Как насчет переносимых слов?
Возможно (не в официальной БНФ):
дефис: = '-'
альфа: = 'а' | 'б' | ... | 'z' | 'A' | 'B' | ... | 'Z'
альфа-группа: = альфа | альфа-группа
дефис: = альфа-группа дефис альфа-группа | альфа-группа дефис дефис
слово: = альфа-группа | дефис