#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int DigitBit(char str[]);
void DigitCount(char a[]);
#define MAX 100
int DigitBit(char str[])
{
int count;
for(int i=0;str[i]!='\0';i++)
{
if(str[i]<='9' && str[i]>='0')
{
count++;
}
}
return count;
}
void DigitCount(char a[])
{
int digit[10]={0};
for(int i=0;a[i]!='\0';i++)
{
if(a[i]<='9' && a[i]>='0')
{
digit[a[i]-'0']++;
}
}
for(int j=0;j<10;j++)
{
if(digit[j]>0)
{
printf("%d: %d\n",j,digit[j]);
}
}
}
int main()
{
char a[MAX];
int sum;
printf("Input a number:");
scanf("%s",&a);
sum=DigitBit(a);
printf("%d bits\n",sum);
void DigitCount(a);
return 0;
}
运行时输入12223没有打印每个数字出现的字数
只打印了5 bits