思路:规则翻译就好
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#define p 3.1415927
int judge(char c)
{
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u')
return 1;
else if (c=='\0')
return -1;
else
return 0;
}
int main(int argc, char *argv[])
{
char a[30];
int i;
int len;
int flag;
int sum;
for(i=0;i<30;i++)
a[i]='\0';
while(scanf("%s",a))
{
if(a[0]=='e'&&a[1]=='n'&&a[2]=='d')
break;
flag=1;
len=strlen(a);
sum=0;
for(i=0;i<len;i++)
{
sum+=judge(a[i]);
}
for(i=0;i<len;i++)
{
if(sum==0)
{
flag=0;
break;
}
if(judge(a[i])==1 && judge(a[i+1])==1 &&judge(a[i+2])==1)
{
flag=0;
break;
}
if(judge(a[i])==0 && judge(a[i+1])==0 &&judge(a[i+2])==0)
{
flag=0;
break;
}
if(a[i]==a[i+1])
{
if(a[i]!='e'&& a[i]!='o')
{
flag=0;
break;
}
}
}
if(flag)
printf("<%s> is acceptable.\n",a);
else
printf("<%s> is not acceptable.\n",a);
for(i=0;i<30;i++)
a[i]='\0';
}
return 0;
}