poj 1566 Haiku Review

/*
	就是找由/分割的三句话中syllables(不连续的a,e,i,o,u,y算一个)的数量
	若符合给出的5:7:5,输出Y;否则输出第一个不符合的句子的号码
*/
#include<stdio.h>
#include<string.h>
char s[250];
int a[3],n;
int ha(char p)
{
	if(p=='a'||p=='e'||p=='i'||p=='o'||p=='u'||p=='y')
		return 1;
	return 0;
}
int main()
{
	int i;
	while(gets(s))
	{
		n=0;
		if(strcmp(s,"e/o/i")==0)
			break;
		a[0]=a[1]=a[2]=0;
		for(i=0;s[i];i++)
		{
			if(s[i]=='/')
			{
				n++;
				continue;
			}
			if(s[i]==' ')
				continue;
			if(ha(s[i]))
			{
				if(i==0||!ha(s[i-1]))
					a[n]++;
			}
		}
		if(a[0]==5&&a[1]==7&&a[2]==5)
			printf("Y\n");
		else
		{
			if(a[0]!=5)
				printf("1\n");
			else if(a[1]!=7)
				printf("2\n");
			else
				printf("3\n");
		}
	}
	return 0;
}

你可能感兴趣的:(poj 1566 Haiku Review)