华为机试题 001计算字符串最后一个单词的长度

原创 2016年08月30日 14:30:20
/*
题目描述:计算字符串最后一个单词的长度,单词以空格隔开。
输入:一行字符串,非空,长度小于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)的情况
*/


华为机试题:字符串最后一个单词的长度

题目描述: 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 输入例子: ...

华为机试001:字符串最后一个单词的长度(华为OJ001)

华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开。 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f4...

华为oj 字符串最后一个单词的长度

计算了一下,前前后后大概大概3个多月总算是把华为oj,初级中级的所有题目全部刷完了,先说说感受吧,在做的过程中其实一直想说一个字“烂”,题目描述不清晰,结果输出描述不清晰,测试用例很少,但是坚持下来了...

【华为OJ1】字符串最后一个单词的长度

题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 输入例...

HWOJ 计算字符串最后一个单词长度

HWOJ  计算字符串最后一个单词长度 题目:计算字符串最后一个单词的长度,单词以空格隔开 输入样例: hello world 输出样例: 5 题目分析: ①由于题目中输入的字符串有...

HWOJ 计算字符串最后一个单词长度

HWOJ计算字符串最后一个单词长度 题目:计算字符串最后一个单词的长度,单词以空格隔开 输入样例: hello world 输出样例: 5 题目分析: ①由于题目中输入的字符串有空格...

计算字符串最后一个单词长度

题目:计算字符串最后一个单词的长度,单词以空格隔开 输入样例: hello world 输出样例: 5 题目分析: ①由于题目中输入的字符串有空格,所以我们这里不能用scanf输入,我们采用gets(...

计算字符串最后一个单词的长度

题目描述:计算字符串最后一个单词的长度,单词之间以空格隔开(基础题)思路一:由String的lastIndexOf的方法,直接找到最后一个空格前的字符串的长度,得到最后一个单词的长度...

编程面试题在线训练平台:最后一个单词的长度

题目地址:http://www.lintcode.com/zh-cn/problem/length-of-last-word/ 最后一个单词的长度 给定一个字符串, 包含大小写字母、空格'...

字符串最后一个单词的长度

题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串。 输出描述: 整数N,最后一个单词的长度。 输入例子: hello world 输出例子: 5 g...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为机试题 001计算字符串最后一个单词的长度
举报原因:
原因补充:

(最多只允许输入30个字)