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