Написать код для задачи на сроки

Здравствуйте. Нужно ооочень срочно!

Слова текста из малых латинских букв записаны не менее чем через один пробел; текст оканчивается точкой. БЕЗ ИСПОЛЬЗОВАНИЯ конструкции STRING:

а) написать программу ввода такого текста с клавиатуры;

б) напечатать все слова, отличающиеся от последнего слова, во всех словах текста, оканчивающихся на ov, ova, in, ina, ev, eva, заменить это окончание на idze.

Я немного написала начало. Но закончить не могу.
помогите пожалуйста

#include <conio.h>

int main() {
char c, ch;
int i = 0;
char string[80];
do {
c = _getch();
if (c >= 'a' && c <= 'z' || c == ' ' || c == '.') {
if (i < 79) {
_putch(c);
string[i] = c;
++i;
}
else {
}
}
else if (c == 8) {
_putch(8);
if (i > 0) {
--i;
}
_putch(32);
_putch(8);
}
} while (c != '.');
}

Так а проблема в чем именно?

в том что не знаю как дописать
не знаю как заменить окончания

Надо сначала научиться делить текст на слова. Типа идти по тексту, искать пробелу, считать словом то, что скопилось до пробела, и т.д. И слова тут надо либо в массив строк (двумерный) копировать, либо (если хранить только одно “текущее” слово) начать обход с конца, получить последнее слово, потом обрабатывать остальные слова.
В интернете много решений задач про слова для вдохновения.