А если по-символьно считывать каждое слово до символа-разделителя слов, а потом во внутреннем цикле последовательно, начиная с первого символа и до символа с номером длина_строки-длина_слова вырезать участки строки длиной, равной длине слова, и сравнивать их с ним. Если в результате сравнения получается только одно совпадение - это слово встречается в тексте только один раз, его можно сразу выводить как один из результатов. После выход из внутреннего цикла и считывание следующего слова. И так до конца строки.