本题要求实现一个统计整数中指定数字的个数的简单函数。
函数接口定义:
int CountDigit( int number, int digit );
其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。
裁判测试程序样例:
#include <stdio.h>
int CountDigit( int number, int digit );
int main()
{
int number, digit;
scanf("%d %d", &number, &digit);
printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
21252 2
输出样例:
Number of digit 2 in -21252: 3
// Date:2020/3/30
// Author:xiezhg5
#include <stdio.h>
int CountDigit( int number, int digit );
int main()
{
int number, digit;
scanf("%d %d", &number, &digit);
printf("Number of digit %d in %d: %d\n", digit, number, CountDigit(number, digit));
return 0;
}
/* 你的代码将被嵌在这里 */
int CountDigit( int number, int digit )
{
if(number<0) number=-number; //先保证进行判断时数字为非负整数(位数不能小于0)
if(number==0&&digit==0) return 1; //特殊的情况(输入0 0)
int i,a,count=0;
while(number!=0)
{
a=number%10; //与第28行共同构成求各个位数上的数字的算法
if(a==digit)
count++; //计数变量
number=number/10;
}
return count;
}