【发布时间】:2015-03-01 23:19:06
【问题描述】:
这里我有一个代码,用于输出字符串中使用的元音并忽略辅音。但是,如果在输入字符串中多次使用该元音,它会重复该元音的输出。有什么方法可以防止重复输出的字符或某些功能可以实现相同的任务吗?
#include <stdio.h>
#include <string.h>
int main()
{
int i = 0, j = 0, k;
char string[256], result[256];
char vowel[10] = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
printf("Enter string:");
fgets(string, 256, stdin);
string[strlen(string) - 1] = '\0';
while (string[i] != '\0')
{
for (k = 0; k < 10; k++)
{
if (vowel[k] == string[i])
{
result[j++] = string[i];
break;
}
}
i++;
}
result[j] = '\0';
strcpy(string, result);
printf ("\n");
printf("Vowel used are: %s\n\n", string);
return 0;
}
【问题讨论】:
-
注意:你错过了'y'和'Y'。
printf("Vowel used are: %s\n\n", result); -
不包括 y 或 Y,因为它可能是也可能不是元音,这取决于它的使用方式,风险太大并且需要大量工作
-
那么也许你需要 ngram。
标签: c string character output repeat