本题要求实现一个统计整数中指定数字的个数的简单函数。
函数接口定义:
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
在这里插入代码片
int CountDigit( int number, int digit )
{
int b,court=0;
do{
b=number%10;//注意(-10)%3=-1,取余最终所得到的数的符号是原数的符号
number=number/10;
if(b<0)
{
b=-b;
}
if(b==digit)
{
court++;
}
}while(number!=0);
return court;
} /*本题还需考虑当输入数为非正整数的情况
如上,代码先进行计数后判断,使得代码可以处理当数为0的情况,
代码,让-b赋值给b,使得代码可以处理当数为负整数的情况*/