我有一个作业,其中给了我一个代码,该代码应该计算字符串中元音的数量。缺少代码片段,我必须填写它。但是我一生都无法弄清楚如何去做。我可以很容易地用 for 循环计算元音,但是这个作业非常严格,我不知道如何让这个程序以这种方式工作。这是代码:
#include <stdio.h>
int vowels(char *s)
{
char *z ="aeiouy";
int count = /-/;
while (/-/)
count+= /-/
if (/-/)
return 0;
return count;
}
int main()
{
char buf (/-/);
while (scanf("%s", buf)>0)
printf("%d\n", vowels(buf));
return 0;
}
/-/是我应该填写以使程序正常工作的区域。元音函数中的 while 循环给我带来了最大的麻烦,我完全不知道该放什么。这是我到目前为止所得到的。
#include <stdio.h>
int vowels(char *s)
{
char *z ="aeiouy";
int count = 0;
while (/-/)
count+= 1
if (count==0)
return 0;
return count;
}
int main()
{
char buf [1000];
while (scanf("%s", buf)>0)
printf("%d\n", vowels(buf));
return 0;
}
我知道“递归”意味着我应该在它的主体内调用函数,但我不明白如何在这个程序中执行它。请帮忙!
编辑:“编写一个递归函数 vowels(),它返回字符串中的多个元音。” 这就是我得到的任务。我提交的第一个代码是我从教授那里得到的,我不能以任何方式更改它,我只能填写空白(/-/)。我提交的第二个代码是我认为应该在空白处的,但它可能不正确。
EDIT2:我忘了提到的另一件事,这些行的顺序可能是错误的,我应该把它和正确的顺序放在一起并填写空白。我认为我提交的订单是正确的,但我可能错了。