您的位置:首页 > 大数据 > 人工智能

poj 1575 Easier Done Than Said?

2012-06-07 00:14 435 查看
#include <iostream>
#include <string>
using namespace std;

int main()
{
int i, len;
string str;
bool flag1, flag2, flag3, flag4;
while (cin >> str)
{
if (str == "end")  break;
len = str.length();
flag1 = flag2 = flag3 = flag4 = false;
//第一种情况的判断
for (i = 0; i < len; i++)
{
if (str[i] == 'a' || str[i] == 'e' || str[i] == 'o' || str[i] == 'i' || str[i] == 'u')
{
flag1 = true;
break;
}
}
//第二种情况的判断
for (i = 0; i < len - 2; i++)
{
if (str[i] == 'a' || str[i] == 'e' || str[i] == 'o' || str[i] == 'i' || str[i] == 'u')
{
if (str[i+1] == 'a' || str[i+1] == 'e' || str[i+1] == 'o' || str[i+1] == 'i' || str[i+1] == 'u')
{
if (str[i+2] == 'a' || str[i+2] == 'e' || str[i+2] == 'o' || str[i+2] == 'i' || str[i+2] == 'u')
{
flag2 = true;
break;
}
}
}
}
for (i = 0; i < len - 2; i++)
{
if (str[i] != 'a' && str[i] != 'e' && str[i] != 'o' && str[i] != 'i' && str[i] != 'u')
{
if (str[i+1] != 'a' && str[i+1] != 'e' && str[i+1] != 'o' && str[i+1] != 'i' && str[i+1] != 'u')
{
if (str[i+2] != 'a' && str[i+2] != 'e' && str[i+2] != 'o' && str[i+2] != 'i' && str[i+2] != 'u')
{
flag3 = true;
break;
}
}
}
}
//第三种情况的判断
for (i = 0; i < len - 1; i++)
{
if (str[i] == str[i+1] && str[i] != 'e' && str[i] != 'o')
{
flag4 = true;
break;
}
}

if (flag1 && !flag2 && !flag3 && !flag4)
cout << "<" << str << ">" << " is acceptable." << endl;
else
cout << "<" << str << ">" << " is not acceptable." << endl;
}

system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: