题解 | #字符串最后一个单词的长度#

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

https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da

#include <iostream>
#include <string>
using namespace std;
/*
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入一行,代表要计算的字符串,非空,长度小于5000。
输出一个整数,表示输入字符串最后一个单词的长度。
*/

int main() {

	string str;
	getline(cin, str, '\n');

	int i;
	int flag;

	int n = str.length();
	if (n >= 0 && n < 5000)
	{
		if (str[n-1]!=' ')//字符串末尾不以空格为结尾
		{
			for (i = n - 1; i >= 0; i--) 
			{
				if (i == 0)//只有一个单词的情况
				{
					flag = n;
					cout << flag << endl;
					break;
				}
				if (str[i] == ' ')//有多个单词时,从后往前找到第一个空格符,然后跳出循环
				{
					flag = n - 1 - i;
					cout << flag << endl;
					break;
				}

			}
		}
		else
		{
			cout << "字符串末尾不以空格为结尾!" << endl;
		}
	}
	else
	{
		cout << "字符串的长度出错!" << endl;
	}
	return 0;
}

全部评论

相关推荐

03-04 14:31
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务