2025-03-04 学习记录--C/C++-PTA 习题5-5 使用函数统计指定数字的个数

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️


二、代码(C语言)⭐️

c 复制代码
#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) {
    // 特殊情况:如果 number 是 0 且 digit 也是 0,直接返回 1
    if (number == 0 && digit == 0) {
        return 1;
    }

    int count = 0; // 初始化计数器,用于记录 digit 在 number 中出现的次数

    // 如果 number 是负数,将其转换为正数
    if (number < 0) {
        number *= (-1);
    }

    // 遍历 number 的每一位
    while (number != 0) {
        // 取出 number 的最后一位
        int lastDigit = number % 10;

        // 如果最后一位等于 digit,计数器加 1
        if (lastDigit == digit) {
            count++;
        }

        // 去掉 number 的最后一位
        number /= 10;
    }

    // 返回 digit 在 number 中出现的次数
    return count;
}


相关推荐
喜欢吃燃面33 分钟前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程34 分钟前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
_Kayo_7 小时前
node.js 学习笔记3 HTTP
笔记·学习
CCCC131016310 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴93611 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头11 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
艾莉丝努力练剑11 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
武昌库里写JAVA13 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
Cx330❀13 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
杜子不疼.13 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习