检查所有子字符串中元音的数量是否至少与辅音的数量相同
字母序列由 26 个字符组成,其中 5 个字符是元音,例如 a、e、i、o、u,其余字符称为辅音。在 C++ 中,我们有预定义的函数,例如 tolower() 和 length(),它们将有助于检查所有子字符串中元音的数量是否至少与辅音的数量相同。
让我们举个例子。
字符串只有一个辅音,其余元音为 "aiteau"。因此,它被接受为最终结果。
字符串有多个辅音,其余元音为 "appioa"。因此,它不被接受为最终结果。
使用简单的 for 循环
该程序使用基于元音和至少辅音的双函数定义。这些函数提供了一些循环和运算符,有助于解决此问题陈述。
语法
示例中使用了以下语法
tolower()
预定义函数 tolower() 将任何给定的字符转换为小写。
length()
length() 是 C++ 的预定义函数,可用于查找给定字符串的长度。
算法
以下步骤是-
步骤 1:通过提及头文件 iostream 启动程序。
步骤 2:然后使用将用于设置内置函数 tolower() 进行转换的函数定义 vowel_letter()字符转换为小写。然后通过使用运算符 == 和 || 指定元音字符来返回函数。
步骤 3:接下来,它将定义另一个名为 atleast_consonant() 的函数定义,该函数接受 str 作为参数来获取给定字符串的输入。此函数用于处理一个辅音和其余元音。例如 - aatuuie:t 是唯一的辅音,其余字母都是元音。
步骤 4:然后使用第一个 for 循环,变量 i 遍历输入字符串并连接到函数定义 vowel_letter,方法是在 if 语句的条件中使用某些运算符(例如 ! 和 &&)。如果在给定的字符串中发现多个辅音,则返回 false。
步骤 5:继续使用第二个 for 循环,它将使用 if 语句设置基于 && 运算符的条件。如果元音围绕着多个辅音,则返回 false(如果所有条件都满足,否则返回 true)。
步骤 6:现在启动程序的主函数并初始化输入字符串。
步骤 7:使用 if-else 语句,将条件设置为调用函数以传递字符串的输入并检查是否至少存在辅音。
示例
在下面的例子中,我们将使用两个 for 循环,其中第一个循环基于当前给定列表中的一个连续辅音字符进行迭代,而第二个循环将基于被多个辅音包围的元音来证明这个问题。
#include <iostream> using namespace std; // 函数操作用于处理元音字符 bool vowel_letter(char ch) { // 使用 tolower() 将字符转换为小写字母 ch = tolower(ch); // 使用运算符逻辑或和等于设置条件以检查字符元音 return (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u'); } // 函数操作用于处理其余元音中存在的至少一个辅音字符。 bool atleast_consonant(const string& str) { int n = str.length(); // 使用第一次迭代检查是否存在多个连续辅音 for (int i = 1; i < n; i++) { if (!vowel_letter(str[i]) && !vowel_letter(str[i - 1])) return false; } // 使用第二次迭代检查元音是否被多个辅音包围 for (int i = 1; i < n - 1; i++) { if (vowel_letter(str[i]) && !vowel_letter(str[i - 1]) && !vowel_letter(str[i + 1])) return false; } // 当只有一个辅音与元音一起存在时返回 true return true; } // 启动主函数 int main() { string stng = "abaue"; // if 语句下使用的函数调用 if (atleast_consonant(stng)) cout << "给定的问题陈述得到满足。" << endl; else cout << "给定的问题陈述不得到满足" << endl; return 0; }
输出
给定的问题陈述得到满足。
结论
元音和辅音是字母表中的字符,可用于程序活动中解决特定问题。使用了一些预定义函数,例如 tolower() 和 length() 在需要时满足特定需求。这种类型通常用于解决算法问题陈述。