從 C++ 字串中提取前 X 個母音


在此問題中,我們給定大小為 N 的字串 str[] 和一個整數 X。我們的任務是建立一個程式以從字串中打印出前 X 個母音

我們將從字串中打印出前 X 個母音,並且如果母音數量少於 X,則列印 -1。

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

Input: str = "learn C programming language", X = 5
Output: e, a, o, a, i
Vowels are a, e, i, o, u

解決辦法

對這個問題的一個簡單解決辦法是逐個字元遍歷字串。並將字串中的所有母音儲存到一個母音字串中。並且如果此字串的長度等於 X,則返回它。如果字串中的所有母音都不能使計數達到 X,則返回 -1。

示例

一個程式來說明我們的解決方案如何工作

#include <iostream>
#include <string.h>
using namespace std;
bool isaVowel(char c){
   c = tolower(c);
   if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
      return true;
   return false;
}
string findXVowelsString(string s, int x){
   string vowelsString = "";
   for (int i = 0; i < s.length(); i++) {
      if (isaVowel(s[i]))
         vowelsString += s[i];
      if (vowelsString.length() == x) {
         return vowelsString;
      }
   }
   return "-1";
}
int main(){
   string str = "learn C programming language";
   int x = 5;
   cout<<"The first "<<x<<" vowels from the string are "<<findXVowelsString(str, x);
   return 0;
}

輸出

The first 5 vowels from the string are eaoai

更新於: 01-Feb-2022

187 次瀏覽

開啟你的 事業

完成課程即可獲得認證

開始
廣告
© . All rights reserved.