Так как вы сами заявили, что это для упражнения, я не буду предоставлять рабочее решение, но в общих чертах описываю, что вы, возможно, захотите сделать.
Функции, которые вы хотите использовать:
getline
- для удобного чтения строки ввода (обратите внимание, что символ новой строки не будет удален strtok_r
для получения токенов ( то есть слова) из входной строки -
_r
означает, что эта функция является входящей, что означает, что она может вызываться несколькими потоками одновременно. Нормальная версия имеет внутреннее состояние и strtok_r
позволяет вам управлять этим состоянием с помощью параметра.
(Пожалуйста, прочитайте документы по этим функциям, если у вас есть дополнительные вопросы)
Для Алгоритм: используйте getline
, чтобы прочитать одну строку из ввода и заменить символ новой строки символом 0. Затем вы должны извлечь все один токен за другим из ввода и сохранить их в стек , как в моде После Если вы токенизировали входные данные, просто извлеките токен из стека и распечатайте их в stdout
.
Другой подход:
Напишите функцию, которая просто переворачивает строку. Затем используйте эту функцию для обратного ввода входной строки, а затем для всех токенов, чтобы прочитать токен из обращенной входной строки и распечатать обратный токен в stdout
.