zoukankan      html  css  js  c++  java
  • HDU1062 Text Reverse

    问题链接HDU1062 Text Reverse。基础训练级的题,用C语言编写。

    问题简述:输入测试例子数量t,然后输入t行字符串,将每一行的每一个单词逆序后输出该行的语句(字符串)。

    问题分析:利用堆栈后进先出的原理,逆序处理可以使用堆栈来实现。每一个单词是用空格或行结束符隔开的。每行的处理到换行符为止。

    程序说明:使用了一个自行实现的堆栈,简单地实现逆序功能。本程序使用getchar()函数处理输入流,除了输入字符压栈外,读入的字符直接输出输出,没有使用多余的缓存。

    AC通过的C语言程序如下:

    /* HDU1062 Text Reverse */
    
    #include <stdio.h>
    
    #define MAXSTACK 1024
    
    char stack[MAXSTACK];
    int pstack;
    
    void push(char c)
    {
        stack[pstack++] = c;
    }
    
    char pop()
    {
        return stack[--pstack];
    }
    
    int main(void)
    {
        int t;
        char c;
    
        scanf("%d", &t);
        getchar();
        while(t--) {
            pstack = 0;
    
            for(;;) {
                c = getchar();
                if(c == ' ' || c == '
    ') {
                    while(pstack)
                        putchar(pop());
                    putchar(c);
                } else
                    push(c);
    
                if(c == '
    ')
                    break;
            }
        }
    
        return 0;
    }


  • 相关阅读:
    web前端-----第二弹CSS
    web前端-----第一弹html
    mysql数据库第三弹
    mysql数据库第二弹
    mysql数据库第一弹
    django
    mysql基础
    面向对象进阶
    继承、多态、多态性
    面向对象的程序设计
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564579.html
Copyright © 2011-2022 走看看