【问题标题】:counting words containing character [closed]计算包含字符的单词[关闭]
【发布时间】:2013-11-10 23:57:50
【问题描述】:
#include <stdio.h>
int hledejznak(x)
{
    int c;
    int pocitadlo=0;
    while((c=getchar())!=EOF)
    {
        if(x==c){
            pocitadlo++;
            while((c=getchar())!=32)
            {
                printf("%d\n",c);
            };
        };
    };

    return pocitadlo;
}

int main(int argc,char *argv[])
{
    int znak=*argv[1];
    printf("answer is %d",hledejznak(znak));
    return 0;
}

大家好,我需要在终端计算包含指定为参数的字符的单词 示例:echo '你好宝贝' | ./main e

答案是 2

....因为有两个单词包含字母“e” 我的代码不起作用,你能帮帮我吗? 谢谢

【问题讨论】:

  • 以什么方式不起作用?所有的空白是怎么回事?
  • 它唯一能做的就是写出:-1-1-1-1-1-1-1.....

标签: c char character


【解决方案1】:
  1. 不要嵌套循环;保持处理每个字符的外部读取
  2. 每当您看到所需的字符时,将布尔变量初始化为 false 并设置为 true。
  3. 每当一个单词结束时,如果标志为真,则增加您的计数器。无论哪种方式,将标志设置为 false(为下一个单词做好准备)。 (请注意,最后一个单词不能以空格结尾。)
  4. 只有在处理完所有输入后,才能打印计数器的值。

【讨论】:

  • 您能按照您的描述编写代码吗?对不起我的英语......
  • @user1477988 - 这个人为什么要为你写代码?你要付钱给这个人吗?!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-30
  • 2014-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 2018-11-23
相关资源
最近更新 更多