浙大版《C语言程序设计(第3版)》题目集
习题5-5 使用函数统计指定数字的个数 (15 分)
本题要求实现一个统计整数中指定数字的个数的简单函数。
函数接口定义:
int CountDigit( int number, int digit );
其中number
是不超过长整型的整数,digit
为[0, 9]区间内的整数。函数CountDigit
应返回number
中digit
出现的次数。
裁判测试程序样例:
#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;
}
/* 你的代码将被嵌在这里 */
输入样例1:
-21252 2
输出样例1:
Number of digit 2 in -21252: 3
二、题解
c代码
int CountDigit( int number, int digit ) {
int cnt = 0;
if(number < 0) number = -number; //负数转成整数,负数求余结果为负,-255 % 10 = -5
do { //全0时,至少执行一次
if(number % 10 == digit) cnt++;
number /= 10;
}while(number);
return cnt;
}