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;
}


相关推荐
charlie1145141912 分钟前
精读 C++20 设计模式:行为型设计模式——观察者模式
c++·学习·观察者模式·设计模式·程序设计·c++20
熊猫钓鱼>_>12 分钟前
深度解析学习率:梯度下降中的“速度与激情“
学习
charlie11451419139 分钟前
精读 C++20 设计模式:行为型设计模式 — 备忘录模式
c++·学习·设计模式·c++20·备忘录模式
迎風吹頭髮42 分钟前
UNIX下C语言编程与实践15-UNIX 文件系统三级结构:目录、i 节点、数据块的协同工作机制
java·c语言·unix
迎風吹頭髮43 分钟前
UNIX下C语言编程与实践6-Make 工具与 Makefile 编写:从基础语法到复杂项目构建实战
运维·c语言·unix
我的xiaodoujiao1 小时前
Web UI自动化测试学习系列5--基础知识1--常用元素定位1
windows·python·学习·测试工具
张永清-老清1 小时前
每周读书与学习->初识JMeter 元件(三)
学习·测试工具·性能调优·jmeter性能测试·每周读书与学习
R-G-B1 小时前
【11】C实战篇——C语言 【scanf、printf、fprintf、fscanf、sprintf、sscanf】的区别
c语言·printf·scanf·fscanf·sprintf·fprintf·sscanf
charlie1145141911 小时前
精读C++20设计模式——行为型设计模式:策略模式
c++·学习·设计模式·策略模式·c++20
Brookty2 小时前
【Java学习】定时器Timer(源码详解)
java·开发语言·学习·多线程·javaee