呵呵!又是一道初学者题!没任何算法就字符的统计而已。
#include "stdio.h"
#include "string.h"
#define END "e/o/i"
#define N 500
int main(void)
{
char haiku[N] = {0}; //用于存储输入的字符串
int flag; //用于标识在遍历第几行
int i, j;
int count[10] = {0}; //存储每个haiku每行的元音个数
int xianglin;
while (gets(haiku))
{
if (strcmp(haiku, END) == 0)
{
break;
}
flag = 0;
i = 0;
xianglin = 0;
//清空统计数据的数组
for (j = 0; j < 3; ++j)
{
count[j] = 0;
}
while (haiku[i] != '/0')
{
if (haiku[i] == '/')
{
++flag;
}
if (haiku[i] == 'a' || haiku[i] == 'e' || haiku[i] == 'i' ||
haiku[i] == 'o' || haiku[i] == 'u' || haiku[i] == 'y')
{
if (xianglin == 0)
{
++count[flag];
xianglin = 1;
}
}
else
{
xianglin = 0;
}
++i;
}
if (count[0] != 5)
{
printf("1/n");
}
else if (count[1] != 7)
{
printf("2/n");
}
else if (count[2] != 5)
{
printf("3/n");
}
else
{
printf("Y/n");
}
}
return 0;
}
本文介绍了一道面向初学者的编程题目,通过字符统计来验证输入的字符串是否符合特定的Haiku格式。代码实现了从输入中读取字符串,统计每行中的元音数量,并判断其是否满足特定条件。
1081

被折叠的 条评论
为什么被折叠?



