Разбор и подсчет слов в строке

Упражнение этого месяца основано на коде, представленном на уроке 1 июня : разбить строку на отдельные слова. Разница в том, что за каждым словом, которое вы извлекаете из строки, следует количество букв в этом слове.

Код, который вы придумываете, должен перетекать через строку, определяя, когда слово начинается и заканчивается. Когда встречается конец слова, выводятся цифровые буквы в слове.

Вот пример строки для анализа, цитата из Марка Твена:

char string[] = "Training is everything. The peach was once a bitter almond; cauliflower is nothing but cabbage with a college education.\nMark Twain\n";

Вывод программы выглядит примерно так:

Training 8
is 2
everything 10
The 3
peach 5
was 3
once 4
a 1
bitter 6
almond 6
cauliflower 11
is 2
nothing 7
but 3
cabbage 7
with 4
a 1
college 7
education 9
Mark 4
Twain 5

Каждое слово в строке появляется в отдельной строке, после букв в слове.

Как и в уроке 1 июня, символы-разделители пропускаются; пустые строки не выводятся.

Пожалуйста, попробуйте это упражнение самостоятельно, прежде чем заглянуть в мое решение, которое я опубликую через неделю.