习题5-5 使用函数统计指定数字的个数(映射)

本题要求实现一个统计整数中指定数字的个数的简单函数。

函数接口定义:

int CountDigit( int number, int digit );

其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回numberdigit出现的次数。

裁判测试程序样例:

#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 count;
	
	count = 0;
	if (number < 0)	number = -number;
	if (number == 0)	count = 1;
	else
		while (number) {
			if (digit == number % 10)	count++;
			number /= 10;	
		}
	
	return count;
}

 

法二:

int CountDigit( int number, int digit ) {
	int a[10] = {0};
	
	if (number == 0)	return 1;
	if (number < 0)	number = -number;
	while (number) {
		a[number % 10]++;
		number /= 10;
	}
	
	return a[digit];
}

 


版权声明:本文为YelloJesse原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>