本题要求实现一个统计整数中指定数字的个数的简单函数。

函数接口定义:

int CountDigit( int number, int digit );

其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回numberdigit出现的次数。

裁判测试程序样例:

#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 count = 0;
    if(number == 0){
        if(number == digit)
            count = 1;
    }
    else{
        if(number < 0)number = -number;
        while(number != 0)
        {
            //printf("%d %d\n",number,number%10);
            if(number%10 == digit)
                count++;
            number /= 10;
        }
    }
    return count;
}

注意

对负数取余%后结果仍是负数。

Last modification:2021 年 03 月 27 日 16 : 12 : 14