从 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
广告