计算字符串中的特定字符并将其分出

时间:2013-01-08 19:45:57

标签: c string count character

嗨,我是编码新手,我只想知道如何计算字符串中的'l'等特定字符,并且在计算之后我只想将结果输出。

尝试更多地了解C语言中的编码,以便为学校做一些研究。 我只想用一个单词中的特定字符的%来创建一些图表,如:

  • 你好< - 我们的字符串
  • l< - 我们的特定字符

结果:这个“你好”字符串中有2个。

现在我的一些想法,因为人们不应该认为我没有做任何事情。

  • 读取字符串
  • 分割字符,如h / e / l / l / o
  • 现在可能是一个循环来获取“l”的数量?
  • 如果找到“l” - >计数+ 1
  • printf表示l的数量

如果有人可以帮助我,我会很高兴。

2 个答案:

答案 0 :(得分:4)

你的算法很好;你需要帮助将你的伪代码转换成实际的C代码吗?如果是这样的话,请大家提出一些意见:

#include <stdio.h>

int main(void)
{
    char mystr[128]; // a char array, where the string will be input
    char ch; // the char we want to count
    char *p; // loop variable
    unsigned cnt; // number of occurrences

    fgets(mystr, sizeof(mystr), stdin); // read the string - max 128 characters, beware!
    ch = fgetc(stdin); // read the character
    cnt = 0;

    for (p = mystr; *p; p++) {
        if (*p == ch) cnt++; // walk through the string, increase the count if found
    }

    printf("%u occurrences found\n", cnt);

    return 0;
}

答案 1 :(得分:0)

在C中,Stringchar类型的数组。您可以遍历数组并将charchar进行比较。