统计某位数字个数

方法 1

int Count_Digit(const int N, const int D) {
    int n = (N >= 0) ? N : -N; // 绝对值
    if (n == 0 && D == 0) return 1;
    int s = 0; // 要考虑到D可能不是N中的数字
    while (n != 0) {
        if (n % 10 == D) s++;
        n /= 10;
    }
    return s;
}

方法 2

int Count_Digit(const int N, const int D) {
    int cnt[10] = {0}; // 0..9
    int n = (N >= 0) ? N : -N; // 绝对值
    if (n == 0) // 因为n!=0是循环条件
        cnt[0]++;
    while (n != 0) {
        cnt[n % 10]++; // 直接找到对应数字 ++ 但是空间消耗大
        n /= 10;
    }
    return cnt[D];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容