附上自己的能通过,但是傻逼的代码
int Count_Digit ( const int N, const int D ){
int i,count=1;
int c=0;
int x;
if(N<0){
x=0-N/10;
}
else
x=N/10;
while(x!=0){
x=x/10;
count++;
}
if(N<0){
x=0-N;
}
else
x=N;
for(i=0;i<count;i++)
{
if(x%10==D){
c++;
x=x/10;
}
else
x=x/10;
}
return c;
}
:由于是个位数,运用一个数组存储每个个位数出现的次数,返回与D相等的数的次数。
int Count_Digit(const int N, const int D)
{
int x, n = N, flag[10] = { 0 };
if (n == 0)
{ if(n==D)
return 1;
else
return 0;
}
if (n < 0)
n *= -1;
while (n)
{
x = n % 10;
n /= 10;
flag[x]++;
}
return flag[D];
}