建设中心小学网站,涿州规划建设局网站,网站开发国内外研究,铁威马 Nas 做网站【华为机试】 HJ1 字符串最后一个单词的长度
描述 计算字符串最后一个单词的长度#xff0c;单词以空格隔开#xff0c;字符串长度小于5000。#xff08;注#xff1a;字符串末尾不以空格为结尾#xff09; 输入描述#xff1a; 输入一行#xff0c;代表要计算的字符串…【华为机试】 HJ1 字符串最后一个单词的长度
描述 计算字符串最后一个单词的长度单词以空格隔开字符串长度小于5000。注字符串末尾不以空格为结尾 输入描述 输入一行代表要计算的字符串非空长度小于5000。
输出描述 输出一个整数表示输入字符串最后一个单词的长度。
示例1 输入
hello nowcoder
输出
8说明 最后一个单词为nowcoder长度为8
实现前知识点了解
获取用户输入
cinn或者cinstrgetline(istream is, string str, char delim);//is通常为cin,delim为停止标记符默认为/n 通常这样使用getline(cin,str);cin.getline(string str, char delim);.cin.get()//获取第一个字符,即使是回车也会捕捉或者一个整数。。cin.get(char* ch,int lenght);cin.get(char* ch,int len);或cin.get(char* ch);scanf(“%d”,n)gets(char* ch) 获取用户不指定数量的输入 while(cinn){}char ch cin.get();while(ch ! \n){ch cin.get();}while(scanf(%d,%n) EOF){}getline()gets()思路
从后遍历整个字符串从第一个非空格开始计算遇到第一个空格时结束
#实现
#include iostream
using namespace std;//cinch;
//cin.getline(str1,5000);
//getline(cin,str);int main() {string str1;getline(cin,str1);int last_word_lenght 0;int str1_lenght str1.size();for(int i str1_lenght - 1;i 0;i--){if(str1[i] last_word_lenght 0)continue;if(str1[i] )break;last_word_lenght 1;}coutlast_word_lenght;
}