题目:本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。
输入样例:
-21252 2
输出样例:
3
思路:这题非常简单,只需要把输入的数分开存储在一个数组中,然后就只需要遍历数组,数出与题目所给数字相同的数字即可。
下面是代码:
#include <stdio.h>
int Count_Digit ( const int N, const int D );
int main()
{
int N, D;
scanf("%d %d", &N, &D);
printf("%d\n", Count_Digit(N, D));
return 0;
}
int Count_Digit ( const int N, const int D )//const的意思是常量,不可更改
{
int a[15],i=0,cnt1=0,cnt2=0,n;
if(N<0)
n=-N;//这里想让输入的负数变成正数,只能另外赋值给一个变量
else if(N>0)
n=N;
else if(N==0&&D==0)
return 1;//单独处理特殊情况
while(n!=0)
{
a[i]=n%10;
i++;
cnt1++;
n/=10;
}
for(i=0;i<cnt1;i++)
{
if(a[i]==D)
cnt2++;
}
return cnt2;
}