日常刷题04

题目:本题要求实现一个函数,可统计任一整数中某个位数出现的次数。例如-21252中,2出现了3次,则该函数应该返回3。
输入样例:
-21252 2
输出样例:
3
思路:这题非常简单,只需要把输入的数分开存储在一个数组中,然后就只需要遍历数组,数出与题目所给数字相同的数字即可。
下面是代码:

#include 

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;
}

你可能感兴趣的:(c语言)