我有一个问题。
我想编写一个程序来计算一个句子中元音的数量。
为此,我使用 strlen 来计算一个句子中的字母数 但问题是,为什么它只计算第一个单词。
我需要一个句子中的字符数来循环程序以找到句子中每个单词的元音。
如何统计一个句子中的所有字符?
我应该使用哪个命令?
我在用C语言
#include <stdio.h>
#include <string.h>
int main()
{
int input;
int repeater;
scanf("%d",&input);
int counter[input];
getchar();
char kalimat[100000];
scanf("%s",kalimat);
for(int i=1;i<=input;i++)
{
counter[i]=0;
}
repeater=strlen(kalimat);
for(int i=1;i<=input;i++)
{
for(int j=i;j<=repeater;j++)
{
if(kalimat[j]=='A'||kalimat[j]=='a'||kalimat[j]=='E'||kalimat[j]=='e'||kalimat[j]=='I'||kalimat[j]=='i'||kalimat[j]=='O'||kalimat[j]=='o'||kalimat[j]=='U'||kalimat[j]=='u')
{
counter[i]++;
}
}
}
最佳答案
scanf
只抓取第一个空格。您需要将一个模式传递给接受空格的 scanf
。尝试将 "%s"
替换为 "%[^\n]"
。
关于计算句子字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32952334/