我有个问题.
我想制作一个计算一个句子中元音数量的程序.
为此,我使用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]++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
scanf只是抢到第一个空间.您需要将模式传递给scanf接受空格的模式.尝试替换"%s"使用"%[^\n]".