#include <stdio.h> #define row 100 #define col 21 char is_letter(char a) { if ((a >= 'a' && a <= 'z') || (a >= 'A' && a <= 'Z')) { return 1; } return 0; } int main() { char s[row * col + 1]; char d[row][col]; int i, j, k; //scanf("%[^EOF]", s); fgets(s, row * col, stdin); for (i = 0, j = 0, k = 0; i < strlen(s); i++) { if (is_letter(s[i])) { d[j][k++] = s[i]; } else if (k > 0)//previous character valid? { d[j++][k] = 0; k = 0; } } if (k > 0)//last word process { d[j++][k] = 0; } j--; if (j > 0) { while (j > 0) { printf("%s ", d[j--]); } printf("%s", d[0]); } return 0; }