c_cpp 将一句话里的单词进行倒置,标点符号不倒置。比如一句话:我来自北京。倒置后变成:beijing。来自我
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 将一句话里的单词进行倒置,标点符号不倒置。比如一句话:我来自北京。倒置后变成:beijing。来自我相关的知识,希望对你有一定的参考价值。
//解析:解决该问题可以分为两步:第一步全盘置换该语句成:.gnijieb morf emoc i。第二步进行部分翻转,如果不是空格,则开始翻转单词。
#include <iostream>
using namespace std;
int main ()
{
int i=0, j=0,begin, end;
char str[] = "i come from beijing.";
char temp;
j = strlen(str) - 1;
//第一步是进行全盘翻转
while(j>i)
{
temp = str[i];
str[i++] = str[j];
str[j--]=temp;
}
//第二步进行部分翻转
i=0;
while(str[i])
{
if(str[i] != ' ')
{
begin = i;
while(str[i] && str[i] != ' ')
i++; //找到str[i]为空格符
i = i - 1; //空格符回退一个
end = i;
}
while(end > begin) //部分翻转
{
temp = str[begin];
str[begin++] = str[end];
str[end--] = temp;
}
i++;
}
cout << "string:" << str << endl;
}
以上是关于c_cpp 将一句话里的单词进行倒置,标点符号不倒置。比如一句话:我来自北京。倒置后变成:beijing。来自我的主要内容,如果未能解决你的问题,请参考以下文章
C语言描述,将一句话的单词进行倒置,标点符号不倒置。
腾讯移动客户端笔试记录
倒置字符串
eg_6
C语言实现来实现字符串反转,只有单词顺序反转,组成单词的字母不反转
互联网企业程序题总结