给一些单词,判断是否符合标准: 1.至少有一个元音(a,e,o,i,u) 2.不能出现三个及以上的连续元音或辅音 3.不能出现连续两个相同字母,但ee,oo除外。 #include <iostream> #include <string> using namespace std; int main() { string s; int i,sum,a[30]; bool flag; while (cin >> s && s!="end") { flag=true; sum=0; for (i=0;i<s.length();i++) { if (s[i]=='a'||s[i]=='o'||s[i]=='e'||s[i]=='i'||s[i]=='u') a[i]=1; else a[i]=0; sum+=a[i]; } if (sum==0) flag=false; if (s.length()>=3) sum=a[0]+a[1]; for (i=2;i<s.length();i++) { sum+=a[i]; if (sum==0||sum==3) flag=false; sum-=a[i-2]; } if (flag) { sum=a[0]; for (i=1;i<s.length();i++) { sum+=a[i]; if (sum==2 && ((s[i]=='a' && s[i-1]=='a') || (s[i]=='i' && s[i-1]=='i') || (s[i]=='u' && s[i-1]=='u'))) flag=false; if (sum==0 && s[i]==s[i-1]) flag=false; sum-=a[i-1]; } } if (flag) cout << "<" << s << "> is acceptable." << endl; else cout << "<" << s << "> is not acceptable." << endl; } //system("pause"); return 0; }