[编程题]【中级】单词倒排
来源:互联网 发布:英译汉软件下载 编辑:程序博客网 时间:2024/04/30 18:15
[编程题]【中级】单词倒排
对字符串中的所有单词进行倒排。
说明:
1、每个单词是以26个大写或小写英文字母构成;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;
输入描述:
输入一行以空格来分隔的句子
输出描述:
输出句子的逆序
输入例子:
I am a student
输出例子:
student a am I
解题思路
使用C++输入流提取单词,具体见注释。。
#include <iostream>#include <sstream>using namespace std;int main(){ string str; while( getline(cin,str) ){ /*把所以无关字符修改成空格(后续提取字符串时自动忽略空格)*/ for( int i = 0; i < str.length(); ++i ){ if( !((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) ){ str[i] = ' '; } } /*使用输入流,提取字符串到字符串数组sstr中*/ istringstream iss(str); string s; string sstr[100001]; int l = 0; while( iss>>s ){ sstr[l++] = s; } /*反向输出*/ for( int k = l-1; k > 0; --k ){ cout<<sstr[k]<<" "; } cout<<sstr[0]<<endl; } return 0;}
0 0
- [编程题]【中级】单词倒排
- [编程题]【中级】单词倒排
- 【中级】单词倒排
- 【中级】单词倒排
- 华为OJ中级题-单词倒排
- 华为oj中级 【中级】单词倒排
- 【华为OJ】【019-【中级】单词倒排】
- 华为oj之【中级】单词倒排
- 单词倒排(中级)解题报告
- 【华为机试】【中级】单词倒排
- 华为OJ——[中级]单词倒排
- 华为OJ测试题--单词倒排
- 单词倒排
- 单词倒排
- 单词倒排
- 单词倒排
- 单词倒排
- 17.单词倒排
- BZOJ 1188 [SG定理][博弈论]
- Introduction_to_Algorithms_chap5
- 洛谷 P1017 进制转换
- javaweb学习总结(七)——HttpServletResponse对象(一)
- 如何获取一个APK的包名
- [编程题]【中级】单词倒排
- 实现自动构建编译javaweb项目并发布到N台服务器
- Introduction_to_algorithms_6
- Ehome:智能家居之多媒体系统mp3音频播放
- InkTag: Secure Applications on an Untrusted Operating System
- Java引用详解
- 数字游戏
- TabLayout
- NYOJ 43 —24 Point game