题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
输入例子:
hello world
输出例子:
5
- #include <iostream>
- #include<string>
- #include<vector>
- int main()
- {
- string str;
- vector<string> v;
- while(cin>>str)
- {
- v.push_back(str); //注
- }
- cout<<v[v.size()-1].length(); //注
- cout<<endl;
- return 0;
- }
第二种:
//输入流直接会记录最后一个字符串,因为单词之间是用空格隔开的
#include<iostream>
#include<string>
using namespace std;
int main(){
string str;
while (cin>>str);
cout<<str.size()<<endl;
return 0;
}
|
//有些同学的答案没考虑到末尾有空格的情况,对于末尾有空格的都输出为0了。
//“hello world ”依然输出5.
#include<iostream>
#include<string>
using
namespace
std;
int
main()
{
string str;
while
(getline(cin,str)){
int
count=0, flag=1;
for
(
int
i=str.size()-1; i>=0; --i){
//倒着计算
if
(flag && str[i]==
' '
){
//如果末尾有空格,先清除末尾空格
continue
;
}
else
if
(str[i]!=
' '
){
flag = 0;
count
++;
}
else
break
;
}
cout << count << endl;
}
return
0;
}