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

函数接口定义:

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 time=0;
    
    if(number<0) //这里将负数全部转正,方便办事
    {
        number*=-1;
    }
    
    do
   {
     if(number%10==digit)
     {
         time++;
     }
        number/=10;
   }while(number>0);//这里用do whlie,当number==0时也可以让time++
    
    return time;
}

这题俺本来是用的whlie(),然后当number,digit全为0时,答案出错了。。慵懒滴俺又不想再加个if语句,于是就改成do while()啦(✪ω✪)!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐