华为笔试之最长单词

来源:互联网 发布:mac开机后怎么切换系统 编辑:程序博客网 时间:2024/05/29 10:59

时间:2014.04.08

地点:基地二楼

说明:这些练习尽量按Google C++标准规范编写,环境 VS2013,语言:C++11

--------------------------------------------------------------------------------

一、题目

输入一串字符串(长度最长为1000),以空格作为分隔符,要求输出长度最长的单词。若出现多个最长长度的单词,则输出最后一个最长长度的单词。

样例输入:

Alin is a good man

样例输出:

good

思路:很简单的基础题,注意检测字符长度,这是良好的编程习惯,就像过马路一样,要注意安全,程序里也有安全限制,我们要像数组的两头观望。思路是将一行输入字符串绑定一个字符串流,然后用从字符串流中逐步读取出每个字符进行处理。

完整代码如下:

#include<sstream>#include<iostream>#include<cassert>using namespace std;int main(){string serial_str = "";getline(cin,serial_str);assert(serial_str.length() <= 1000);istringstream str_stream(serial_str);string largest_word, word;size_t length = 0;while (str_stream>>word){if (word.length() >=length){length = word.length();largest_word = word;}}cout << largest_word << endl;return EXIT_SUCCESS;}



0 0
原创粉丝点击