HDUOJ 1062 TEXT REVERSE

#include<iostream>
#include<stdlib.h>
#include <iomanip>
#include<stack>
using namespace std;

int main(){
    //次数
    int n = 0;
    while (cin >> n) {
        //这里需要读一个字符,需要消除换行符的影响
        getchar();
        while (n--) {
            char c;
            stack<char> stack;
            while (1) {
                c = getchar();
                if (c == ' ' || c == '\n' || c == EOF) {//若遇到空格、换行符、EOF则反向输出
                    while (!stack.empty()) {
                        //先输出顶部的字符,再将其弹出
                        cout << stack.top();
                        stack.pop();
                    }
                    putchar(c); //这里c是空格、换行符、EOF中的一个,putchar出c保持输出格式正确
                    if (c == EOF || c == '\n')//用于判断输入是否结束
                        break;
                }
                //若未遇到停止提示,则不断输入胡
                else stack.push(c);
            }
        }
    }
    return 0;
}

 

posted @ 2018-09-07 10:33  图袋鼠  阅读(269)  评论(0编辑  收藏  举报