华为(·11)单词倒排
2014-07-08 16:01
148 查看
#include <iostream> #include <string> using namespace std; void ReverseStringWord(const string &str) { int pos1=0; int pos2=int(str.length()-1); for(int i=int(str.length()-1);i>=0;--i) { if( (str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z')) { continue; } else if(str[i]=='-' && str[i-1]!='-') { continue; } else { pos1=i; if(str[i]=='-' && str[i-1]=='-') { for(int j=pos1+1;j<=pos2;++j) { cout<<str[j]; } } else { for(int j=pos1+1;j<=pos2;++j) { if(str[j] != '-') cout<<str[j]; else continue; } } cout<<' '; while( !((str[pos1]>='a' && str[pos1]<='z') || (str[pos1]>='A' && str[pos1]<='Z')) ) { --pos1; } pos2=pos1; i=pos1; } } //output first word for(int i=0;i<int(str.length()-1);++i) { if(((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'))) cout<<str[i]; else if(str[i]=='-' && str[i-1]!='-') { continue; } else { break; } } } int main() { string str; getline(cin,str); ReverseStringWord(str); return 0; }
相关文章推荐
- 华为上机(2)输出一个字符串中最长的一个单词
- 华为OJ-查找兄弟单词
- 【硬件测试】华为2016校招·电路设计领域机考试题
- 华为OJ题目(五):字符串最后一个单词的长度
- 2015华为校园招聘机试题<一>
- [华为OJ--C++]001-字符串最后一个单词的长度
- 华为 荣耀3C移动版 Emot…
- 华为oj 字符逆序&&求解立方根&&最小公倍数
- 华为 荣耀3C移动版 Emot…
- 华为褒扬"山寨机"说明了什么? - 转自"IT时代周刊"
- (C#)单词反转 位置不变 e.g., Welcome to my blog! -> emocleW ot ym !golb
- Google总部员工的“腐败”生活(图组) & 25岁华为员工之死
- 华为OJ 字符串最后一个单词的长度
- Java - 华为机试训练 - 字符串最后一个单词的长度
- vi 匹配单词"\<"和"\>"
- 华为机试题-字符串最后一个单词的长度
- 计算单词的个数_华为So挑战赛2015年8月份
- 华为oj:计算字符串最后一个单词的长度,单词用空格隔开
- [转帖]一个华为哥们学习&开发GSM的一些事
- 牛客网华为机试在线训练字符串最后一个单词的长度