利用函数来判断。。
#include<stdio.h>
#include<string.h>
int sum[27];
char a[1000];
int fun1(int k)
{
if(k==0||k==4||k==8||k==14||k==20)
return 1;
return 0;
}
int fun()
{
int i,j,k=0;
for(j=2;a[j];j++)
{
if(fun1(a[j]-'a')&&fun1(a[j-1]-'a')&&fun1(a[j-2]-'a'))
return 0;
else if(fun1(a[j]-'a')==0&&fun1(a[j-1]-'a')==0&&fun1(a[j-2]-'a')==0)
return 0;
}
for(j=1;a[j];j++)
{
if(a[j]==a[j-1]&&(a[j]=='e'||a[j]=='o'))
return 1;
else if(a[j]==a[j-1]&&(a[j]!='e'||a[j]!='o'))
return 0;
}
for(i=0;a[i];i++)
if(fun1(a[i]-'a'))
k++;
if(k==0)
return 0;
return 1;
}
int main()
{
int m,n,i,j,k,h;
while(scanf("%s",a),strcmp(a,"end"))
{
h=0;
memset(sum,0,sizeof(sum));
h=fun();
if(h==1)
printf("<%s> is acceptable.\n",a);
else
printf("<%s> is not acceptable.\n",a);
}
return 0;
}