从最后一个字符开始遍历,遇到第一个空格时的长度即为最后一个单词的长度
#include
#include
using namespace std;
int main() {
string s;
getline(cin, s);
int len = s.length();
for (int i = len - 1; i >= 0; i--) {
if (s[i] == ' ') {
cout << (len - 1 - i) << endl;
return 0;
}
}
cout << len << endl;
return 0;
}

cin >> s 的形式,当遇到空格时会自动停止输入;而 getline(cin, s) 的形式,会把所有字符全部捕捉。