#include <cstdlib>
#include <iostream>
#include <cstring>
/*句子中单词倒置,标点不倒置*/
using namespace std;
void reverse(char *str)
{
cout<<str<<endl;
char *a=str;
char temp;
int i=0,j=0;
int begin=0,end=0;
//整句倒置
int len=strlen(a);
j=len-1;
while(j>i)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
i++;
j--;
}
// cout<<"整句倒置后:"<<a<<endl;
//局部倒置
i=0;
while(a[i]!='\0')
{
begin=i;
while(a[i]!=' '&&a[i]!='\0')
{
end=i;
i++;
}
while(end>begin)
{
temp=a[begin];
a[begin]=a[end];
a[end]=temp;
begin++;
end--;
}
i++;
}
cout<<"倒置后"<<a<<endl;
}
int main(int argc, char *argv[])
{
char str[]="hello world, this is a famous sentence.";
int i=0;
reverse(str);
system("PAUSE");
return EXIT_SUCCESS;
}
(1454)将一句话中的单词倒置,标点符号不倒置。
最新推荐文章于 2022-10-14 16:32:11 发布