描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:
hello nowcoder
复制输出:
8
复制说明:
最后一个单词为nowcoder,长度为8
方法一:
#include <iostream>
using namespace std;
int main()
{
string str;
getline(cin, str);
size_t pos = str.rfind(' ');
cout << str.size() - (pos + 1) << endl;
return 0;
}
补充知识:
从is中提取字符并将它们存储到str中,直到找到定界字符delim(或换行符'\n'对于(2))。
如果在is中到达文件结尾或在输入操作期间发生其他错误,则提取也会停止。
如果找到定界符,它将被提取和丢弃(即不存储它,并且下一个输入操作将在其后开始)。
请注意,在调用之前的str中的任何内容都将被新提取的序列替换。
每个提取的字符都将附加到字符串中,就好像调用了它的成员push_back。
方法二:
#include <iostream>
using namespace std;
int main() {
string str;
/* cin >> str;*/
char ch;
ch = getchar();
while (ch != '\n')
{
str += ch;
ch = getchar();
}
size_t pos = str.rfind(' ');
cout << str.size() - (pos + 1) << endl;
}