1151:将一行中的单词全部逆序输出
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
简单题。由于不知道一行到底有多少,整体读完一行再分词处理有可能溢出。
因此采用流处理形式,来一点处理一点,立即输出。用数组缓存单个词,遇到空格或换行就逆序输出。
Sample Input
1
3
I am happy today
To be or not to be
I want to win the practice contest
Sample Output
I ma yppah yadot
oT eb ro ton ot eb
I tnaw ot niw eht ecitcarp tsetnoc
简单题。由于不知道一行到底有多少,整体读完一行再分词处理有可能溢出。
因此采用流处理形式,来一点处理一点,立即输出。用数组缓存单个词,遇到空格或换行就逆序输出。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int N;
int n;
char word[100];
char c;
int i;
cin>>N;
while(N--)
{
cin>>n;
getchar(); //读掉末尾的换行符
while(n--)
{
i=0;
while(1)
{
c=getchar();
if(c=='\n'||c==' ') //单词末尾
{
for(int k=i-1;k>=0;k--)
printf("%c",word[k]);
printf("%c",c);
i=0;
}
else
{
word[i++]=c;
}
if(c=='\n')
break;
}
}
if(N!=0)
printf("\n");
}
}