Перевернуть слова в строке - C (СИ)
Формулировка задачи:
Ребята буду очень благодарен ) нужно написать программу которая будет "переворачивать" слова в строке
Решение задачи: «Перевернуть слова в строке»
textual
Листинг программы
#include <stdio.h> #include <string.h> #define DELIM " ,.?!;:'-" int main() { char s[80] = "Everybody wonts to rule the world", *p, res[80]; int i = 0, j; for(p = strtok(s, DELIM); p; p = strtok(NULL, DELIM)){ for(j = strlen(p) - 1; j >= 0; --j, ++i){ res[i] = p[j]; } res[i] = ' '; ++i; } res[i] = '\0'; puts(res); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и вводом-выводом
- Объявление строки, в которой содержится предложение для переворота
- Объявление указателя на начало строки и на символ, который будет использоваться в качестве разделителя
- Объявление массива, в который будут добавляться перевернутые слова
- Объявление индексов для прохода по строке
- Начальный цикл, который будет разделять исходную строку по символам-разделителям и добавлять перевернутые слова в результирующую строку
- Внутренний цикл, который будет перебирать символы в текущем слове в обратном порядке
- Добавление символа в результирующую строку
- Добавление пробела в результирующую строку после каждого слова
- Увеличение индекса для следующего слова
- Увеличение индекса для следующего символа в текущем слове
- Завершение внутреннего цикла после обработки всех слов в текущей строке
- Завершение начального цикла после обработки всех строк
- Добавление нулевого символа в конец результирующей строки
- Вывод результирующей строки на экран
- Возврат 0, что означает успешное выполнение программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д