21xrx.com
2024-11-22 08:06:35 Friday
登录
文章检索 我的文章 写文章
C++实现字符串中最长和最短的单词
2023-06-27 02:18:16 深夜i     --     --
C++ 字符串 最长和最短 单词 实现

在C++中,有时需要对字符串进行操作。其中一个常见的问题是找到字符串中最长和最短的单词。这个问题可以通过以下步骤来解决。

第一步是将字符串分解成单词。这可以通过将字符串分割成空格分隔的单词来完成。可以使用C++的分割函数,如strtok,或使用字符串流类stringstream来实现。stringstream库中的函数可以使用流运算符(<<和>>)从字符串中提取单词。

第二步是计算每个单词的长度,并将其与最长和最短单词的长度进行比较。此实现可以使用C ++的strlen函数。

最后一步是确定哪个单词是最长和最短的。这可以通过跟踪最长和最短单词的位置来完成,并在处理完所有单词后返回它们。

下面是实现这个问题的C ++代码:


#include <iostream>

#include <cstring>

#include <sstream>

using namespace std;

int main() {

 string input;

 cout << "Enter a sentence: ";

 getline(cin, input);

 stringstream ss(input);

 string word;

 string longest = "";

 string shortest = input;

 while (ss >> word) {

  int len = strlen(word.c_str());

  if (len > strlen(longest.c_str()))

   longest = word;

  

  if (len < strlen(shortest.c_str()))

   shortest = word;

  

 }

 cout << "The longest word is: " << longest << endl;

 cout << "The shortest word is: " << shortest << endl;

 return 0;

}

上述程序将要求用户输入一个字符串,然后将其转换为stringstream,最后使用while循环将其中所有单词提取出并计算最长和最短单词。最后,程序输出结果:"The longest word is: longest_word" 和 "The shortest word is: shortest_word"。

因此,C ++可以很容易地实现字符串中最长和最短的单词,只需将字符串拆分为单词并通过C ++内置函数进行比较即可。

  
  

评论区

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