#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 发布
本文介绍了一段使用C++实现的字符串反转和句子内部单词反转的代码。通过定义两个函数,一个用于反转单个字符区间,另一个用于处理整个字符串和句子的结构,实现了高效地字符串操作。代码包括了边界条件处理和内部循环实现,适用于需要进行字符串或句子处理的应用场景。
887

被折叠的 条评论
为什么被折叠?



