本题要求实现一个统计整数中指定数字的个数的简单函数。
函数接口定义:
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
int CountDigit( int number, int digit ){
int a = 0;
if(number < 0){
number = -number;
}if(number == 0 && number == digit){
a++;
}
int k,i,number2;
number2 = number;
for ( i = 1; number2 != 0; i++) {
number2 = number2 / 10; //只有一位整数的时候
}
i = i -1;
if(i == 1){
if(number == digit){
a++;
}else{
return 0;
}
}
for (int j = 1; j < i; j++) {
k = number % 10;
number = number / 10;
if(k == digit){
a++;
}if(number == digit){
a++;
}
}
return a;
}