ZOJ-1151 单词逆序
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
简单题。由于不知道一行到底有多少,整体读完一行再分词处理有可能溢出。
因此采用流处理形式,来一点处理一点,立即输出。用数组缓存单个词,遇到空格或换行就逆序输出。
#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");}}