计算句子字符

标签 c

我有一个问题。

我想编写一个程序来计算一个句子中元音的数量。

为此,我使用 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/

相关文章:

c - GCC fastcall 函数定义

c - fscanf 中百分号作为格式分隔符

c - 错误: use of undeclared identifier

c - 如何将 "log in"作为 C 中的用户?

c - C 语言第 2 级数组的理想数据类型

c - 如何在c中验证用户输入?

c - 匿名结构 + 复合文字导致 lint 错误

c++ - IID_MediaControl 未声明的标识符

c - 删除具有重复数据的项目

c - 如何获取目录中的目录数?