C++ 中字符串的前 X 个元音

c++server side programmingprogramming更新于 2025/5/31 8:07:17

在这个问题中,我们给出了大小为 N 的字符串 str[] 和一个整数 X。我们的任务是创建一个程序来打印字符串中的前 X 个元音

我们将打印字符串中的前 X 个元音,如果元音少于 X 个,则打印 -1。

让我们举一个例子来理解这个问题,

输入:str = "learn C programming language", X = 5
输出:e、a、o、a、i
元音为 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

相关文章