//hdu 1039 Easier Done Than Said?(检查密码模拟)
/*
题意:给你一个密码是否接受?
接受的条件:
1、其中要有元音字母;
2、不能连续出现3个元音字母或者3个辅音字母
3、不能出现两个连续出现相同的字母:(除ee,oo之外)
这题就是简单的模拟。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=50;
char s[N];
int len;
bool ansac;
bool isaeiou(char ss)//是否为元音字母
{
if(ss=='a'||ss=='e'||ss=='i'||ss=='o'||ss=='u')
{
return true;
}
return false;
}
int main()
{
while(scanf("%s",s)!=EOF)
{
if(strcmp(s,"end")==0) break;
ansac=false;
len=strlen(s);
printf("<%s> ",s);
for(int i=0;i<len;i++)//其中要有元音字母;
{
if(isaeiou(s[i]))
{
ansac=true;
break;
}
}
if(ansac==true)//不能连续出现3个元音字母或者3个辅音字母
{
for(int i=0;i<len-2;i++)
{
if(isaeiou(s[i])&&isaeiou(s[i+1])&&isaeiou(s[i+2]))
{
ansac=false;
break;
}
else if(!isaeiou(s[i])&&!isaeiou(s[i+1])&&!isaeiou(s[i+2]))
{
ansac=false;
break;
}
}
}
if(ansac==true)//不能出现两个连续出现相同的字母:(除ee,oo之外)
{
for(int i=0;i<len-1;i++)
{
if(s[i]==s[i+1]&&(s[i]!='e'&&s[i]!='o'))
{
//puts("ddd");
ansac=false;
break;
}
}
}
if(ansac==true)
{
puts("is acceptable.");
}
else
{
puts("is not acceptable.");
}
}
return 0;
}
hdu 1039 Easier Done Than Said?(检查密码模拟)
最新推荐文章于 2021-03-07 16:41:10 发布