【发布时间】:2020-10-25 21:39:38
【问题描述】:
我是 C 新手,我正在寻找一个程序,它接受一个单词,说“Aloha”作为输入,记下单词中的所有元音和辅音,并计算单词中的字符数.
我创建了函数来确定单个字符是夏威夷语中的元音还是辅音,但我不知道如何让程序读取多个字符作为输入。比如下面的代码中
#include <stdio.h>
int is_vowel(char);
int is_consonant(char letter);
int main() {
char letter;
int vowel, consonant;
printf("Please input a Hawaiian word:");
scanf("%c", &letter);
vowel = is_vowel(letter);
consonant = is_consonant(letter);
if (vowel == 1) {
printf("%c is a vowel. \n", letter);
} else {
printf("%c is not a vowel. \n", letter);
}
if (consonant == 1) {
printf("%c is a consonant. \n", letter);
} else {
printf("%c is not a consonant. \n", letter);
}
}
当用户输入“Aloha”时,输出为 “A是元音。 A 不是辅音”,然后停止。
而不是“A是元音,A不是辅音。l不是元音,l是辅音”等等。
如何让 C 一次读取输入中的所有字符,并让函数(未包含在示例代码中)检查每个字符?
谢谢!
【问题讨论】:
-
您是否打算强制使用 Hawaiian Alphabet 的正确辅音——H、K、L、M、N、P、W——还是可以忽略这个细节?
-
@JonathanLeffler OP 已经涵盖了这一点:“我已经创建了函数来确定单个字符是 夏威夷语中的元音还是辅音”(强调添加)
-
@BrianDrake — 但是 OP 并没有表现出这种知识,尽管我同意它可能是这样的。并非所有问题的读者都知道夏威夷语的有限字母表。并且没有任何非夏威夷输入的示例输出 - 例如
input。但这只是值得评论的(如果几乎没有的话);这就是为什么它在评论中。答案也不能证明这些知识。