华为机试题 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)的情况
*/


计算字符串最后一个单词的长度,单词以空格隔开。

描述 计算字符串最后一个单词的长度,单词以空格隔开。 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 ...
  • qqyuanhao163
  • qqyuanhao163
  • 2015年08月27日 23:59
  • 3672

华为OJC++编程题001.计算字符串最后一个单词的长度

描述:计算字符串最后一个单词的长度,单词以空格隔开。 输入:一个字符串,长度小于128 输出:一个整数N,最后一个单词的长度 #include #include using namespace ...
  • taotanzhangfu
  • taotanzhangfu
  • 2016年07月16日 08:46
  • 1314

java 计算字符串最后一个单词的长度,空格隔开

package test; import java.util.Scanner; public class GetLastStr { public static void main(String...
  • blog_empire
  • blog_empire
  • 2016年03月31日 19:15
  • 2440

华为oj:计算字符串最后一个单词的长度,单词用空格隔开

/* 描述 计算字符串最后一个单词的长度,单词以空格隔开。 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128。 输出 整数N,最后一个单词的长度...
  • huheqing
  • huheqing
  • 2015年12月24日 11:13
  • 890

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

题目描述:计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 输入例子: hel...
  • qq_30507287
  • qq_30507287
  • 2016年09月09日 22:33
  • 487

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

字符串最后一个单词的长度 题目描述 计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串。 输出描述: 整数N,最后一个单词的长度。 输入例子: hello world 输出例子: ...
  • u010480899
  • u010480899
  • 2016年05月14日 09:00
  • 927

java实现 计算字符串最后一个单词的长度,单词以空格隔开。

java实现 计算字符串最后一个单词的长度,单词以空格隔开。 import java.util.Scanner; public class Main { public static void...
  • dong_shuxia
  • dong_shuxia
  • 2016年06月03日 21:48
  • 2459

【c++】字符串最后一个单词的长度

计算字符串最后一个单词的长度,单词以空格隔开。字符串长度小于128输入样例 hello world输出样例 5程序代码:#include #include using namespace std;...
  • ww1473345713
  • ww1473345713
  • 2016年03月23日 23:23
  • 1116

【c++程序】 字符串最后一个单词的长度

//********************************************* //问题描述:求输入字符串中的最后一个单词的长度。 //Edited By Ethan on 2016-...
  • u012503639
  • u012503639
  • 2016年06月13日 21:28
  • 486

Java - 计蒜客 - 最后一个单词的长度

给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。 如果不存在最后一个单词,返回0 注意:    “单词”是指不包含空格符号的字符串 例如:    s = “hello Wor...
  • qq_34594236
  • qq_34594236
  • 2016年06月03日 15:24
  • 622
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:华为机试题 001计算字符串最后一个单词的长度
举报原因:
原因补充:

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