分析:判断密码是否安全。
三个条件:至少一个元音字母,连续三个字母不能同时为元音或辅音,连续两个字母不能相同,但"ee"和"oo"除外。
#include<iostream>
using namespace std;
bool isyuan(char c)
{
return c=='a' || c=='e' || c=='i' || c=='o' || c=='u';
}
bool judge(char a[])
{
int i,l;
l=strlen(a);
for(i=0;a[i];i++)
if(isyuan(a[i])) break;
if(!a[i]) return false; //是否有元音
for(i=0;i<l-2;i++)
{
if(isyuan(a[i]) && isyuan(a[i+1]) && isyuan(a[i+2])||!isyuan(a[i]) && !isyuan(a[i+1]) && !isyuan(a[i+2]))
return false;
if(a[i]==a[i+1] && a[i]!='e' && a[i]!='o')
return false;
}
if(a[i]==a[i+1] && a[i]!='e' && a[i]!='o')
return false;
return true;
}
int main()
{
char a[30];
while(scanf("%s",a),strcmp(a,"end"))
{
printf("<%s> ",a);
puts(judge(a)?"is acceptable." : "is not acceptable.");
}
return 0;
}
HDU ACM 1039 Easier Done Than Said? 水题
原文地址:http://blog.csdn.net/a809146548/article/details/46350629