题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
输入例子:
hello world
输出例子:
5
解题思路
把情况考虑全:
hello world
Hello World
hello world!
hello world (空格)
hello world !
代码如下:
#include <iostream>
using namespace std;
int main()
{
string str;
while( getline( cin,str ) ){
string s;
int flag = 0;//标志——str[i]是否属于最后一个单词
for( int i=str.length()-1;i>=0;--i ){
if( ( str[i]>='a'&& str[i]<='z' )||( str[i]>='A'&&str[i]<='Z' ) )
flag = 1;
if( flag==1 && str[i]==' ' )//找到了最后一个单词并且检索到空格
break;
if( flag==1 )
s.push_back( str[i] );
}
cout<<s.length()<<endl;
}
return 0;
}