27:单词翻转

描述

输入一个句子(一行),将句子中的每一个单词翻转后输出。

输入

只有一行,为一个字符串,不超过500个字符。单词之间以空格隔开。

输出

翻转每一个单词后的字符串,单词之间的空格需与原文一致。

样例输入

hello world

样例输出

olleh dlrow

代码:

#include<iostream>
#include<cstring>
#include<string>
using namespace std;

string a;

void Reverse(int l,int r)
{
	char x;
	for(int i=l,j=r;i<j;i++,j--)
	{
		x=a[i];
		a[i]=a[j];
		a[j]=x;
	}
}

int main()
{
	int n,i;
	getline(cin,a);
	int l=0;
	for(i=0;i<a.length();i++)
	{
		if(a[i]==' ')
		{
			Reverse(l,i-1);
			l=i+1; 
		}
		if(i==a.length()-1)
		{
			Reverse(l,i);
			l=i+1;
		}
	}
	cout<<a<<endl;
	return 0;
}