您的位置:首页 > 其它

翻转字符串—翻转单词字符串

2018-03-01 21:25 316 查看
将一句话里面的单词进行倒置,标点符号不倒换。比如一句话“i  come  from  china.”倒换后变成“china.  from  come  i”。
解析:解决该问题可以分为两步,第一步全盘置换为“ .anihc  morf  emoc  i”,第二部对每个单词进行逐步翻转,如果不是空格,则开始翻转单词。
具体代码如下:#include<stdio.h>
#include<iostream>
int main(void)
{
int i=0,j=0,flag=0,begain,end;
char str[]="i am from china.",temp;
j=strlen(str)-1;
printf(" string = %s\n",str);

while(j>i)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
j--;
i++;
}
printf(" string = %s\n",str);
i=0;

while(str[i])
{
if(str[i]!=' ')
{
begain=i;
while(str[i]!=' ')
{
i++;
}
i=i-1;
end=i;
}

while(end>begain)
{
temp=str[begain];
str[begain]=str[end];
str[end]=temp;
end--;
begain++;
}
i++;
}

printf(" string = %s\n",str);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: