方法 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];
}