至少两次

时间:2018-08-29 11:00:40

标签: c

我正在做的事情是我无法弄清楚如果至少出现过两次字符,我该如何计数。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    int c;
    unsigned long int zbrojz=0;

    while((c = getchar()) != '\n')
    {
      if((c == 'Z' >= 2) || (c == 'z' >= 2)){
            zbrojz++;
      }
    }
    printf("Z ili z je se pojavilo: %lu puta", zbrojz);


    return 0;
}

2 个答案:

答案 0 :(得分:2)

如果我猜对了程序应该做什么(显示输入中出现的“ Z”或“ z”的数目),则条件是错误的。

应该是:

  while ((c = getchar()) != '\n')
  {
    if ((c == 'Z') || (c == 'z')) {   /// <<< changes on this line
      zbrojz++;
    }
  }

输入:

abcZzdeZ

输出:

Z ili z je se pojavilo: 3 puta

答案 1 :(得分:1)

由于无法在循环中预测程序将接收多少个'z'/'Z'字符,因此需要对所有出现的'z'或'Z'进行计数,然后在输出任何内容之前测试计数:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int c;
    unsigned long int zbrojz=0;

    while((c = getchar()) != '\n')
      if(c == 'Z' || c == 'z')
            zbrojz++;

    if(zbrojz >= 2)
      printf("Z ili z je se pojavilo: %lu puta\n", zbrojz);

    return 0;
}