C++程式:查詢字串中最小和最大的單詞


在這個問題中,我們給定一個字串 str。我們的任務是建立一個C++程式來查詢字串中最小和最大的單詞

問題描述 − 在這裡,我們有一個字串,我們需要找到字串中所有單詞中長度最大和最小的單詞。單詞由空格或空字元(\0)分隔。

讓我們舉個例子來理解這個問題

輸入

str = “Learn Programming at TutorialsPoint”

輸出

smallest word = at
largest word = Tutorialspoint

解決方案方法

為了找到最小和最大的單詞,我們將使用兩個索引來查詢每個單詞的長度,一個用於單詞的開始,另一個用於單詞的結束,由空格字元 ' ' 或空字元 '\0' 標記。然後使用開始和結束索引,我們將找到 maxLength 和 minlength。並根據當前單詞的長度更新 smallestWord 和 largestWord。

程式說明了我們解決方案的工作原理

示例

 線上演示

#include<iostream>
#include<cstring>
using namespace std;
void minMaxLengthWords(string str){
   int StrLength = str.length();
   int startIndex = 0, endIndex = 0;
   int minLength = StrLength, maxLength = 0, currentLength;
   string smallest, largest;
   while (endIndex <= StrLength){
      if (str[endIndex] != '\0' && str[endIndex] != ' ')
         endIndex++;
      else{
         currentLength = endIndex - startIndex;
         if (currentLength < minLength){
            smallest = str.substr(startIndex, currentLength);
            minLength = currentLength;
         }
         if (currentLength > maxLength){
            largest = str.substr(startIndex, currentLength);
            maxLength = currentLength;
         }
         endIndex++;
         startIndex = endIndex;
      }
   }
   cout<<"Smallest Word from the string is "<<smallest<<"\n";
   cout<<"Smallest Word from the string is "<<largest;
}
int main() {
   string a = "Learn Programming at TutorialsPoint";
   minMaxLengthWords(a);
}

輸出

Smallest Word from the string is at
Smallest Word from the string is TutorialsPoint

更新於: 2020年9月17日

4K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告