华为机试题 001计算字符串最后一个单词的长度
来源:互联网 发布:软件怎么做虚拟机 编辑:程序博客网 时间:2024/05/18 03:29
/*题目描述:计算字符串最后一个单词的长度,单词以空格隔开。输入:一行字符串,非空,长度小于5000。输出:整数N,最后一个单词的长度。*/#include<iostream>#include<string.h>using namespace std;int main(){char str[5000];//cin>>str;//错误一:cin的输入以空格未结束标志,但是输入的字符串中可能有空格,就会出错gets(str);//gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取int len=strlen(str);if(0!=len){int num=0;while(' '==str[len-1])//注意:要考虑字符串末尾有空格的情况len--;for(int i=len-1;i>=0;i--){if(' '==str[i])break;num++;}cout<<num<<endl;}return 0;}
#include<iostream>#include<string>using namespace std;int main(){string str;getline(cin,str);if (""!=str)//字符串非空{int num=0;int pos=str.find_last_not_of(' ',string::npos);//从后往前找第一个不是空格的字符位置while ( pos>=0 && ' '!=str.at(pos) )//注意' '!=str.at(pos)必须放在后面,因为at()会检查是否越界{num++;pos--;}cout<<num<<endl;}return 0;}/*注意' '!=str.at(pos)必须放在后面,因为at()会检查是否越界如果最后一个单词的长度就是整个字符串的长度,pos=0满足执行循环体后pos=-1,at(-1)会抛出异常,而pos>=0放在前面发现条件不满足直接退出循环,不会出现at(-1)的情况*/
0 0
- 华为机试题 001计算字符串最后一个单词的长度
- 华为机试题:字符串最后一个单词的长度
- 华为机试题,字符串最后一个单词的长度
- 华为机试题--1.字符串最后一个单词的长度
- 华为机试题:字符串最后一个单词的长度
- 华为机试题-字符串最后一个单词的长度
- 【华为OJ】计算字符串最后一个单词的长度
- 【华为OJ】【001-字符串最后一个单词的长度】
- [华为OJ--C++]001-字符串最后一个单词的长度
- 【华为机试】字符串最后一个单词的长度
- 华为机试 字符串最后一个单词的长度
- 华为机试,字符串最后一个单词的长度
- 【华为机试】字符串最后一个单词的长度
- 计算字符串最后一个单词的长度
- 计算字符串最后一个单词的长度
- 计算字符串最后一个单词的长度
- 计算字符串最后一个单词的长度
- 华为机试001:字符串最后一个单词的长度(华为OJ001)
- SQL语句 - 嵌套查询
- 《Windows核心编程》之“完成端口”
- SAR 图像中几种最为重要的目标的识别
- 工作区和暂存区
- VB6 IDE 函数过程错误处理代码自动添加的插件(含源码)
- 华为机试题 001计算字符串最后一个单词的长度
- pyenv版本管理
- 带动画的从上往下显示的PopupWindow
- iOS 导航栏下拉菜单框
- ubuntu 14.04LTS安装firefox 的flash插件(文件删除复制移动命令)
- Wookmark——瀑布流布局
- on方法绑定事件
- Mybatis 中的一个错误
- JS判断字符串长度(中文2字符,英文1字符),可调整