习题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;
}
/* 你的代码将被嵌在这里 */
输入样例:
-21252 2
输出样例:
Number of digit 2 in -21252: 3
刚开始还想了很多,觉得很难,其实只要分析,把每一个数都剥下来匹配,就行了。
#include <stdio.h>
int CountDigit(int number, int digit);
int CountDigit(int number, int digit)
{
int i; //循环变量
int sum = 0;//累加和初始化
int temp;//临时变量
if (number < 0)
{
number = number * (-1);
}
while (number > 10)
{
temp = number % 10;
number = number / 10;
if (temp == digit)
{
sum = sum + 1;
}
}
if (number == digit)
{
sum = sum + 1;
}
return sum;
}
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;
}
















