#include
int main(int argc,char *argv[]){
int n,z,o,e,t;
printf("Input n(int 0<=n<1000000000)...\nn=");
if(scanf("%d",&n)!=1 || n<0 || n>999999999){
printf("Input error, exit...\n");
return 0;
}
for(z=o=e=0;n;n/=10)
if((t=n%10)==0)
z++;
else if(t&1)
o++;
else
e++;
printf(" ODD: %d\nEVEN: %d\nZERO: %d\n",o,e,z);
return 0;
}
取出每一个位数上的数啊,在判断,用数组存放这些数字。
int a[9];
flag=1;
for(i=0;i<9;i++)
{
a[i]=num/flag%10;
flag=10*flag;
}