21xrx.com
2024-11-08 22:05:18 Friday
登录
文章检索 我的文章 写文章
C++实现:从字符串中输出最长单词
2023-06-27 08:56:41 深夜i     --     --
C++ 字符串 输出 最长单词

在实际的编程中,经常有从字符串中获取最长单词的需求。在C++中,通过一些简单的代码,我们就可以轻松实现该功能。

首先,我们需要定义一个字符串,以及解析字符串的代码。解析字符串的方法有多种,这里我们可以采用的是将字符串按照空格分割为多个子串的方法。我们可以使用istringstream头文件中的istringstream类来完成。

具体实现代码如下:


#include<iostream>

#include<string>

#include<sstream>

using namespace std;

int main()

{

  string str = "I am a boy from China, and I love coding.";

  string word, longest_word;

  int max_len = 0;

  istringstream ss(str);

  while(ss>>word){

    if(word.length()>max_len){

      max_len=word.length();

      longest_word=word;

    }

  }

  cout<<"最长单词为:"<<longest_word<<endl;

  return 0;

}

在这段代码中,我们首先定义了一个字符串变量 str,并将其初始化为一个包含多个单词的字符串。然后,我们定义了一个空字符串 word,以及另一个字符串变量 longest_word,该变量用于存储最长单词。还有一个整型变量 max_len,用于记录当前扫描到的最长单词的长度。

接着,我们使用istringstream类将字符串 str 按照空格分割成多个子串,并将子串存储到 word 变量中。在每次扫描子串时,我们比较当前子串的长度和 max_len 的大小,如果当前子串的长度比 max_len 大,则更新 max_len 的值,并将 word 存储到 longest_word 变量中。

最后,我们输出最长单词即可。

在实际使用中,我们可以将这段代码封装成一个函数,方便多次调用。同时,我们也可以对代码进行一些优化,例如去除字符串中的标点符号等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复