實現字符串的語序翻轉

如輸入爲“i come from tianjin.”
輸出爲"tianjin. from come i"

//vs2005
#include "stdafx.h"
#include <iostream>
#include <string>
#include <stack>
using namespace std;

void reverse(char *str)
{
	char *p,*q;
	string s1,s2;
	s1=str;
	p=str;
	q=str;
	int m=0,n=0;
	cout<<s1<<endl;
	stack<string> sstack;
	while(*q!='\0')
	{
		while(*q!=' ')//找到單詞結束位置
			q++,n++;
		while(*q==' ')//找到單詞開始位置
			q++,n++;		
		s2=s1.substr(m,n-m);
		sstack.push(s2);
		p=q;
		m=n;
	}
	while(!sstack.empty())
	{
		cout<<sstack.top()<<' ';
		sstack.pop();
	}
	printf("\n");


}

int _tmain(int argc, _TCHAR* argv[])
{
	char *str="i come from tianjin.";
	reverse(str);
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章