c语言vowel函数什么意思,C程序接受字符串

我学习C,所以我做不同的C编程中的元音和重复最多的元音的字符串输入和打印数量的挑战,其中之一是这个节目。 WAP接受来自用户的字符串输入并打印编号。元音和字符串中最重复的元音。C程序接受字符串

我能够计算和打印元音的数量,但我无法弄清楚如何计算字符串中最重复的元音,尽管我可以直接在输出屏幕上打印出最重复的元音只需在内部循环内输入vowels[i]的打印语句即可。但我想计算程序本身中最重复的元音,然后才能有效地打印它。我尝试了不同的东西,但没有奏效。另外,我想保持代码小巧高效。有没有办法呢?

这是我做过什么,到目前为止:

#include

#include

#include

#include

#define MAX 150

int main()

{

char Statement[MAX];

char vowels[] = {'a', 'e', 'i', 'o', 'u'};

int i, j;

puts("Enter a simple statement.");

fgets(Statement, 150, stdin);

printf("\nYou entered: %s\n", Statement);

for(i=0; i<=strlen(Statement); i++){

//Converting uppercase input to lowercase

Statement[i] = tolower((unsigned char)Statement[i]);

}

//Calling the function to print no. of

NumberOfVowels(Statement, vowels); vowels

return 0;

}

int NumberOfVowels(char Statement[], char vowels[])

{

int i, j, vowelsAmount = 0, count = 0;

for(i=0; i<5; i++){ //outer loop

for(j=0; j<=strlen(Statement); j++){ //inner loop

if(vowels[i] == Statement[j]){

vowelsAmount++;

printf("%c - ", vowels[i]);

}

}

}

printf("\nTotal number of vowels = %d", vowelsAmount);

return vowelsAmount;

}

+0

建议:创建一个计数器阵列,每个字母一个。 c字符串中最多只有256个。将它们全部初始化为'0'并且增加相应的一个'counter [vowel [i]] ++'或类似的。最后你可以计算出最大值和最小值。 –

+0

最容易理解的是创建第二个数组来保存每个元音的数量。另一种方法是让你的'元音'数组2D保持每个元音的数量。 –

+0

@Serge我试过在内部循环中包含一个计数器,它对'元音[0]'工作正常,但是在每个'元音[i]'结束内部循环后,我都无法提取计数器的值。因为这样它会为'元音[0]'输出正确的值,但是它会在'i> 0'后继续添加。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值