题5-5 使用函数统计指定数字的个数

本文介绍了如何实现一个C语言函数,该函数用于计算一个整数中特定数字的出现次数。通过逐位检查数字并更新计数器,函数能够处理正负整数,并返回指定数字在输入整数中的出现频率。示例代码详细展示了函数的实现过程。

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

函数接口定义:

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

预备知识 :

    do{
        x=number%10;
        number/=10;         //从末尾逐个取出数字
  
    }while(number!=0);

答案:

int CountDigit( int number, int digit ){
    int x;int ret=0;
    if(number<0){
        number=-number;                     //处理数字为负数的情况,题目中没有给math.h.
    }
    do{
        x=number%10;        //取出数字的最后一位,例如number=2152,x=2
        number/=10;           //去掉最后一位数字,number=215
        if(x==digit){
            ret++;             //ret计相等的次数       
        }
    }while(number!=0);            //分号易遗漏
    return ret;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值