hdu 1039 Easier Done Than Said?(检查密码模拟)

来源:互联网 发布:java 车牌识别 编辑:程序博客网 时间:2024/06/05 09:58
//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;}

0 0
原创粉丝点击