C中的整数中的特定数字计数

rub*_*y_r 3 c arrays

例如:如果用户输入是11234517并且想要在此输入中看到1的数量,则输出将是"1的数量是3.我希望您理解我的意思.

我只能计算整数中的位数.

#include <stdio.h>
int main()
{
    int n, count = 0;

    printf("Enter an integer number:");
    scanf("%d",&n);
    while (n != 0)
    {
        n/=10;
        count++;
    }
    printf("Digits in your number: %d",count);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

也许阵列是解决方案.任何帮助,将不胜感激.谢谢!

gio*_*gim 5

你不需要数组.尝试这样的事情:

int countDigits(int number, int digitToCount)
{
  // Store how many times given number occured
  int counter = 0;

  while(number != 0)
  {
   int tempDigit = number % 10;
   if(tempDigit == digitToCount)
     counter++;
   number = number/10;
  }

 return counter;
}
Run Code Online (Sandbox Code Playgroud)