#include <iostream>
using namespace std;
void Reverse(char *pB, char *pE)
{
if( pB == NULL || pE == NULL)
return;
while( pB < pE )
{
char temp=*pB;
*pB=*pE;
*pE=temp;
pB++;
pE--;
}
}
char* ReverseSentence(char *pData)
{
if( pData == NULL )
return NULL;
char *pBegin;
char *pEnd;
pBegin=pEnd=pData;
while(*pEnd != '\0')
pEnd++;
pEnd--;
Reverse(pBegin, pEnd);
pEnd=pData;
while(1)
{
while( *pEnd!=' ' && *pEnd!='\0')
pEnd++;
if(*pEnd=='\0')
{
pEnd--;
Reverse(pBegin, pEnd);
break;
}
else
{
pEnd--;
Reverse(pBegin, pEnd);
pEnd++;
while(*pEnd==' ')
pEnd++;
pBegin=pEnd;
}
}
return pData;
}
void main()
{
char pChar[100]="I am a Student.";
cout<<pChar<<endl;
ReverseSentence(pChar);
cout<<pChar<<endl;
}
翻转句子中单词的顺序
最新推荐文章于 2017-07-21 11:03:19 发布