请用c语言来解决问题:输入一个整数,输出这个整数中奇数,偶数和0的个数

img


注意不是一组整数,是一个整数(用c语言解决),该用什么方法解决?

供参考:

#include <stdio.h>
int main()
{
    int n, t, en = 0, on = 0, zn = 0;
    scanf("%d", &n);
    while (n) 
    {
        t = n % 10;
        if (t == 0)
            zn++;
        if (t % 2 == 0)
            en++;
        else
            on++;
        n /= 10;
    }
    printf("%d\n%d\n%d", on, en, zn);
    return 0;
}

img

#include<stdio.h>

int main()

{int x,n0,n1,n2,t;

printf("请输入一个整数:");

scanf("%d",&x);

for(n0=n1=n2=0;x;x/=10)

{t=x%10;

if(t==0)n0++;

if(t&1)n1++;

else n2++;

}

printf("其中有:\n");
if(n1)printf("%d个奇数\n",n1);
if(n2)printf("%d个偶数\n",n2); 
if(n0)printf("%d个0\n",n0);
return 0;
}