练习一下字符串,预处理。
AC代码:
#include<stdio.h>
#include<string.h>
int vo(char c)
{
if(c=='a'||c=='o'||c=='e'||c=='i'||c=='u')
return 1;
else return 0;
}
int main()
{
int i, len, flag1, flag2, flag3;
char s[100], end[10] = "end";
gets(s);
while(strcmp(s,end))
{
flag1 = 0;
flag2 = flag3 = 1;
len = strlen(s);
for(i=0; i<len; i++)
{
if(vo(s[i]))
flag1 = 1;
if(i>1)
if( (vo(s[i]) && vo(s[i-1]) && vo(s[i-2])) || (vo(s[i])==0 && vo(s[i-1])==0 && vo(s[i-2])==0) )
flag2 = 0;
if(i>0)
if(s[i]!='e' && s[i]!='o')
if(s[i-1]==s[i])
flag3 = 0;
}
if(flag1 && flag2 && flag3)
printf("<%s> is acceptable.\n",s);
else
printf("<%s> is not acceptable.\n",s);
gets(s);
}
return 0;
}