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