zoukankan      html  css  js  c++  java
  • 用栈的思想处理字符串倒置问题更清晰

    如杭电acm题目

    The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow. Each test case contains a single line with several words. There will be at most 1000 characters in a line.
     
    Output
    For each test case, you should output the text which is processed.
     
    Sample Input
    3
    olleh !dlrow
    m'I morf .udh
    I ekil .mca
     
    Sample Output
    hello world!
    I'm from hdu.
    I like acm.
    Hint
    Remember to use getchar() to read ' ' after the interger T, then you may use gets() to read a line and process it.
     
    Author
    Ignatius.L

     我写的代码,还有地方能更精简

    # include <stdio.h>

    # include <string.h>

    int main(){

     int top,num,i;

     char a[1001];  

    char stack[1001];

     scanf("%d",&num);  

    getchar();  

    while(num--){   

    gets(a);   

    top=0;   

    for(i=0;i<strlen(a)+1;i++){   

     if(a[i]==' '){     

    while(top)     

     printf("%c",stack[--top]);     printf(" ");    }      

    if(a[i]==''){     

    while(top)      

    printf("%c",stack[--top]);     

    printf(" ");     

    break;    }    

    if(a[i]!=' '&&a[i]!='')     

    stack[top++]=a[i];

       }  

    }  

    return 0;

    }

    }

  • 相关阅读:
    2018 11.15
    25 个精美的后台管理界面模板和布局
    Python3学习笔记(urllib模块的使用) brady
    Entity Framework学习
    我知道的泛型
    重温设计模式之工厂和抽象工厂
    ORM(O/R Mappping)学习
    我知道的委托
    项目中的分布式站点缓存刷新实现
    c#操作xml
  • 原文地址:https://www.cnblogs.com/shaomg/p/3551498.html
Copyright © 2011-2022 走看看