`
linest
  • 浏览: 149999 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

ZOJ-1151 单词逆序

    博客分类:
  • acm
 
阅读更多
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");
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics