分析:判断密码是否安全。
三个条件:至少一个元音字母,连续三个字母不能同时为元音或辅音,连续两个字母不能相同,但"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