

Задание по программированию в языке СИ (Не С++)
Помогите пожалуйста с заданием, не могу разобраться не в формулировке, ни в том что надо писать, задание нужно выполнить на языке Си.
Требуется выделить в строке-предложении s все слова, разделенные символами-разделителями «_.,;:\n\t!?», и обработать выделенные слова в соответствии с вариантом задания.
Определения
Регулярное слово – слово, состоящее только из больших латинских
букв.
Палиндром – это слово, которое одинаково читается слева направо и
справа налево.
Алфавитный порядок задается таблицей ASCII.
Выделить в строке-предложении s все слова, разделенные символа- ми-разделителями «_.,;:\n\t!?». Обработать выделенные слова в соответствии с вариантом.
Вариант
A1. Напечатать все слова, начинающиеся на большую и заканчивающиеся на меленькую букву.
Строка предложения задается с клавиатуры, в любом объёме.
Помогите чем сможете, сижу носом клюю уже. А сделать надо, сессия близится. Задание по словам препода очень легкое, но я не знаю как вообще это сделать.
И что вас смущает?
1) Разделение слова в соответствии с разделителями - Применяйте strtok() из <string.h>
2) Возьмите слово и пробегитесь в цикле по нему функцией isupper() из <ctype.h> .
Если хоть раз вернёт 0 - Значит слово не соответствует определению "регулярное"
3) Разделите размер слова пополам и в цикле сравнивайте [i] и [n-i] элементы. Если хоть раз проверка не пройдёт - значит слово не соответствует определению "Палиндром"
4) А1 - Проверить первую и последнюю букву слова функциями isupper() и islower() соответственно, из всё той же <ctype.h> .
5) Что бы считать полную строку из консоли воспользуйтесь функцией gets() из <stdio.h>
Если пользуетесь Visual Studio - не забудьте включить поддержку последнего стандарта языка и включить макрос "_CRT_SECURE_NO_WARNINGS"