首页 > 其他 > 详细

用栈的思想处理字符串倒置问题更清晰

时间:2014-02-17 03:35:23      阅读:401      评论:0      收藏:0      [点我收藏+]

如杭电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 ‘\n‘ 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]==‘\0‘){     

while(top)      

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

printf("\n");     

break;    }    

if(a[i]!=‘ ‘&&a[i]!=‘\0‘)     

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

   }  

}  

return 0;

}

}

用栈的思想处理字符串倒置问题更清晰

原文:http://www.cnblogs.com/shaomg/p/3551498.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!