Выделить отдельные слова строки и записать их в обратном порядке - C (СИ)
Формулировка задачи:
Задано строку из трех слов. Выделить отдельные слова и записать их в обратном порядке. Вывести преобразованную строку на экран.
Решение задачи: «Выделить отдельные слова строки и записать их в обратном порядке»
textual
Листинг программы
- #include <stdio.h>
- #include <ctype.h>
- //-----------------------------------------------------------------------------
- void Swap(char* a, char* b)
- {
- char tmp = *a;
- *a = *b;
- *b = tmp;
- }
- //-----------------------------------------------------------------------------
- void Reverse(char* begin, char* end)
- {
- while (begin < end)
- {
- Swap(begin++, end--);
- }
- }
- //-----------------------------------------------------------------------------
- void ReverseAllWords(char* text)
- {
- char* begin;
- while (*text)
- {
- for (; *text && isspace(*text); ++text) { ; }
- begin = text;
- for (; *text && !isspace(*text); ++text) { ; }
- if (begin < text)
- {
- Reverse(begin, text - 1);
- }
- }
- }
- //-----------------------------------------------------------------------------
- int main()
- {
- char text[256] = {'\0'};
- printf("input text: ");
- fgets(text, sizeof(text) - 1, stdin);
- ReverseAllWords(text);
- printf("result: %s", text);
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д