程序员面试宝典:一句话里的单词进行倒置

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;

void reverse( char * str ,int i,int j)
{

char tmp;

while( i < j )
{
tmp = str[i];
str[i] = str[j];
str[j] = tmp;
i++;
j--;
}


}


int main()
{

char str[]="i come from tianjin.";
int len = strlen(str);
int j;
reverse( str, 0,len-1 );
//cout<<str<<endl;

for( int k = 0; str[k] != '\0'; k++ )
{
int tmp = k;
j =0;

while( str[k] != ' ' && str[k] != '\0')
{

j++;
k++;
}


reverse(str,tmp,k-1);

if(str[k] == '\0')
{
break;
}

}
cout<<str<<endl;
system("pause");

return 0;
}

posted @ 2013-04-08 10:58  NinaGood  阅读(156)  评论(0)    收藏  举报