1、必做题 本题要求实现一个统计整数中指定数字的个数的简单函数。 函数接口定义: int CountDigit( int number, int digit ) 其中number是不超过长整型的整数,digit为[0, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。 要求:在main函数中输入两个数,调用CountDigit函数,在main函数中输出结果。 输入样例1: -21252 2 输出样例1: Number of digit 2 in -21252: 3 输入样例2: 12345 0 输出样例2: Number of digit 0 in 12345: 0
时间: 2024-01-17 10:03:17 浏览: 75
好的,这是一道简单的编程题目,我可以帮你解答。以下是代码实现:
```c
#include <stdio.h>
int CountDigit(int number, int digit) {
if (number == 0 && digit == 0) { // 特判0的情况
return 1;
}
if (number < 0) { // 如果number是负数,先取相反数再做处理
number = -number;
}
int count = 0;
while (number) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
return count;
}
int main() {
int number, digit;
scanf("%d%d", &number, &digit);
int count = CountDigit(number, digit);
printf("Number of digit %d in %d: %d\n", digit, number, count);
return 0;
}
```
你可以将这份代码复制到本地编译运行,看看是否满足题目要求。
相关问题
本题要求实现一个统计整数中指定数字的个数的简单函数。 函数接口定义: 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即可。
6-4 编写函数统计指定数字的个数分数 10 全屏浏览题目 切换布局 作者 王祥荣 单位 宁波财经学院 本题要求实现一个统计整数中指定数字的个数的简单函数。 CountDigit(number,digit ) 其中number是整数,digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。 函数接口定义: 函数接口定义: int CountDigit (number, digit ); 参数number是整数,参数digit为[1,9]区间的整数,函数返回number中digit出现的次数。
以下是一个可以统计指定数字在整数中出现次数的函数实现:
```c
int CountDigit(int number, int digit) {
int count = 0;
while (number != 0) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
return count;
}
```
该函数使用了循环和取模运算,可以依次获取整数的每一位数并与指定数字进行比较,如果相等则计数器加1。最后返回计数器的值即可。
阅读全文