#include <stdio.h> #include <string.h> char* reverse(char* p, char* end) { char* start = p; while (end > p) { char t = *p; *p = *end; *end = t; end--; p++; } return start; } int main() { char arr[10001] = { 0 }; gets(arr); int len = strlen(arr); for (int i = 0; i < len; i++) { if (islower(arr[i]) || isupper(arr[i])) ; else arr[i] = ' '; } reverse(arr, arr + len - 1); char* start = arr; while (*start) { char* end = start; while (*end != ' ' && *end != '\0') { end++; } reverse(start, end - 1); start = end + 1; } printf("%s\n", arr); return 0; }