【问题描述】
小明对类似于 hello 这种单词非常感兴趣,这种单词可以正好分为四段,
第一段由一个或多个辅音字母组成,第二段由一个或多个元音字母组成,
第三段由一个或多个辅音字母组成,第四段由一个或多个元音字母组成。给定一个单词,请判断这个单词是否也是这种单词,如果是请输出yes,否则请输出no。
元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
【输入格式】
一个单词,单词中只包含小写英文字母。
【输出格式】
输出答案,yes 或 no
【样例输入1】
lanqiao
【样例输出1】
yes
【样例输入2】
world
【样例输出2】
no
【评测用例规模与约定】
对于所有评测用例,单词中的字母个数不超过100。
题解:
#include <iostream>
using namespace std;
string s;
int i;
bool judge(char x)
{
return x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u';
}
int func1() // 辅音字母的个数
{
int ans = 0;
for (; i < s.size(); i ++)
{
if (!judge(s[i])) ans ++;
else break;
}
return ans;
}
int func2() // 元音字母的个数
{
int ans = 0;
for (; i < s.size(); i ++)
{
if (judge(s[i])) ans ++;
else break;
}
return ans;
}
int main()
{
cin >> s;
if (func1() && func2() && func1() && func2() && i == s.length()) printf("yes");
else printf("no");
return 0;
}