使用函数统计指定数字的个数 (15 分)

使用函数统计指定数字的个数 (15 分)

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

函数接口定义:

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

分析:本题一开始让我很是疑惑,都想要用getchar()一个一个的读入,但是似乎行不通。我觉得这道题目使用do while循环是比较合适的,当然for循环、while循环,switch循环也是可以的,只是我个人感觉do while是比较省事的。相信大家都会在意这个负号怎么办,一开始的思维“这怎么从第一个数字判断呢?” 就把自己难住了。殊不知我们可以从后往前判断

作者请求:如果博友没有在博主的地方找到答案,欢迎博友私信我,一般在下午我都在线,可以单独发给博友,我也是一个菜鸟,希望与大家一起进步努力,成长。

代码实现:

int CountDigit(int number, int digit)
{
	int count = 0;
	if (number < 0)
	{
		number = -number;
	}
	do
	{
		if (number % 10 == digit)
		{
			count++;
		}
		number = number / 10;
	} while (number % 10 != 0);
	return count;
}


版权声明:本文为zoroly原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。