最后一个单词其实就是整个字符串最后一个空格后的一个子字符串,我们不妨将整个字符串逆序,求从开始到第一个空格的长度即可。

#include<string>
#include <algorithm>
using namespace std;

int main()
{
    string a;
    getline(cin, a);
    int size = a.size()-1;//去掉‘\0’的占位
    int count = 0;
    reverse(a.begin(),a.end());
    while(a[count]!=' ' && count<=size)//注意考虑整个字符串就是一个单词的情况
    {
        count++;
    }
    cout<<count;
}