水题,但是我从别人的博客那里学来了新的读入方式,可以简化操作
#include <bits/stdc++.h>
using namespace std;
int is(char c)
{
switch (c)
{
case 'a':return 1;
case 'e':return 1;
case 'i':return 1;
case 'o':return 1;
case 'u':return 1;
case 'y':return 1;
default :return 0;
}
}
int ok(char a[],int n)
{
int len=strlen(a);
int num=0;
for (int i=0;i<len;i++){
if (is(a[i])){
num++;
while(is(a[i])) i++;
}
}
if (num-n==0) return 1;
return 0;
}
int main()
{
char a[210],b[210],c[210];
while(scanf("%[^'/']",a) != EOF)
{
getchar();
scanf("%[^'/']",b);//从别人博客上学的
getchar();
gets(c);
if( strcmp(a,"e") == 0 && strcmp(b,"o") == 0 && strcmp(c,"i") == 0) break;
if( !ok(a,5) )
printf("1\n");
else if( !ok(b,7) )
printf("2\n");
else if( !ok(c,5) )
printf("3\n");
else
printf("Y\n");
}
return 0;
}