C++解决字符串最后一个单词长度
描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
举例:
输入:I love China
输出:5
思路:
我们可以通过strlen函数计算出字符串总长度,然后从最后一个字符开始循环,没遇到空格就count++,遇到空格,就是最后一个单词遍历完了,就可以得到最后一个单词长度
代码:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
getline(cin,s);
char *p=&s[0];
//cout<<s;//验证数组接收是否正确
int len=s.length();
//cout<<len; //验证计算字符串长度是否正确
int count=0;
for(int i=len;i--;i>-1){
if(s[i]!=' '){
count++;
}
else break;
}
cout<<count;
}
运行结果截图: