Выделить отдельные слова строки и записать их в обратном порядке - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д