#include #include /* reverse a string in place */ void reverse(char* str) { char * head = str; char * tail = str + strlen(str) - 1; char temp; while (tail > head) { temp = *tail; *tail = *head; *head = temp; ++head; --tail; } } int main() { char c; char line[256]; char newline = 1; /* flag to mark a new line */ int char_num = 0; while (scanf("%c", &c)) { /* quit when 'Q' is met right after a newline */ if (c == 'Q' && newline) break; if (c == '\n') { line[char_num++] = '\0'; /* end-of-file (EOF) character */ reverse(line); printf("%s\n", line); newline = 1; /* mark a new line */ char_num = 0; } else { newline = 0; line[char_num++] = c; } } return 0; }