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