如杭电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