本题要求实现一个统计整数中指定数字的个数的简单函数。 函数接口定义: 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
时间: 2024-01-23 16:01:47 浏览: 46
请参考以下代码:
```c
int CountDigit(int number, int digit) {
int count = 0;
number = (number < 0) ? -number : number; // 将number取绝对值处理
while (number) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
return count;
}
```
主要思路是先将number取绝对值,然后通过循环和取模运算来统计digit在number中出现的次数。
相关问题
6-2 使用函数统计指定数字的个数 分数 10 作者 张高燕 单位 浙江大学 本题要求实现一个统计整数中指定数字的个数的简单函数。 函数接口定义: int CountDigit( int number, int digit ); 其中number是不超过长整型
在6-2的问题中,你需要编写一个名为`CountDigit`的函数,该函数接受两个整数作为输入:一个是待检查的整数`number`,另一个是要查找的特定数字`digit`。函数的目标是计算并返回`number`中包含的`digit`的数量。
函数原型看起来像这样:
```c++
int CountDigit(int number, int digit);
```
例如,如果你有一个数字123456,你想找出其中数字5的个数,你应该调用`CountDigit(123456, 5)`。
下面是一个简单的C++示例实现这个功能:
```cpp
#include <iostream>
int CountDigit(int number, int digit) {
int count = 0;
while (number > 0) {
if (number % 10 == digit)
count++;
number /= 10;
}
return count;
}
// 示例测试
int main() {
int num = 123456;
int target = 5;
int result = CountDigit(num, target);
std::cout << "Number " << num << " contains " << result << " occurrences of digit " << target << "." << std::endl;
return 0;
}
```
在这个例子中,我们通过不断取`number`除以10的余数来检查每一位是否等于目标数字,并增加计数器`count`。
本题要求实现一个统计整数中指定数字的个数的简单函数。 函数接口定义: int CountDigit( int number, int digit ); 其中number是不超过长整型的整数,digit为[0,9]区间内的整数。函数 CountDigit应返回number中digit出现的次数。
可以通过不断地取number的个位数,判断是否等于digit,累加出现次数的方式来实现。具体实现如下:
```
int CountDigit(int number, int digit) {
int count = 0;
while (number) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
return count;
}
```
在每一次循环中,取number的个位数,判断是否等于digit,如果相等则累加计数器count的值。然后将number除以10,去掉个位数。循环直到number变为0,最后返回count即可。
阅读全文