计算字符串最后一个单词的长度
题目:输入一个字符串,计算该字符串最后一个单词的长度
例如:输入:hello world 输出:5
#include<iostream>
#include <string>
using namespace std;
int cal_string_len(string &str)
{
auto len = str.length();//首先获取整个字符串的长度
int postion = str.find_last_of(' ');//通过string的成员函数找到最后一个空格所在的位置
int subLen = len - postion - 1;//该位置后的字串长度就是最后一个单词的长度,因为C++中位置是从0开始计算的,所以position+1表示最后一个含空格之前字串的长度,这样比较号理解
return subLen;
}
int main()
{
string str("");
getline(cin, str); //踩坑的地方在这里,先前未用getline来获取,而是直接获取cin的输入,遇到空格会截断
int subLen = cal_string_len(str);
cout <<"the last word's length is "<< subLen << endl;
system("pause");
return 0;
}
该题通过C++来完成,比较方便,通过string的成员函数find_last_of()就可以完成查找。