注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Aspirer's blog

停止维护,新博客地址:http://aspirer.wang/

 
 
 

日志

 
 

将一句话里的单词进行倒置,标点符号不倒换  

2009-08-21 21:06:25|  分类: 学习心得 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

将一句话里的单词进行倒置,标点符号不倒换 - aspirer - Aspirers blog

如:I come from China. 倒换后变为:China. from come I

#include <iostream>
#include <string>
#include <vector>

using namespace std;

string &ConvSent(const string &Sent, string &InvSent)
{
 vector <string> words;
 //string temp;
 size_t i, beg, end;
 bool is_word = false;
 for (i = 0; i < Sent.length(); ++i)
 {
  if (Sent[i] != ' ' && is_word == false)
  {
   is_word = true;
   beg = i;
  }
  else if (Sent[i] == ' ' && is_word == true)
  {
   is_word = false;
   end = i;
   words.push_back(Sent.substr(beg, end - beg));
   words.push_back(" ");
  }
  else if (Sent[i] == ' ' && is_word == false)
  {
   words.push_back(" ");
  }

 }
 if (is_word == true && i == Sent.length())
 {
  words.push_back(Sent.substr(beg, i - beg));
 }

 vector <string>::const_reverse_iterator it = words.rbegin();
 for ( ; it != words.rend(); ++it)
 {
  InvSent += *it;
  //cout << *it << endl;
 }
 return InvSent;
}

int main()
{
 string aSent;
 getline(cin, aSent);
 
 string invSent;
 cout << ConvSent(aSent, invSent) << endl;
 return 0;
}

 

  评论这张
 
阅读(806)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018