C语言题目让我们定义一个函数countdigit(number, digit),用于统计整数number中数字digit的个数。例如,countdigit(10090, 0)的返回值是3,意思是整数10090中数字0出现了3次。我们需要按照题目要求,输入一个整数number和一个数字digit,统计整数number中数字digit的个数并输出。
时间: 2024-02-20 14:57:03 浏览: 81
好的,这个问题可以用 C 语言编写一个函数来解决:
```c
int countdigit(int number, int digit) {
int count = 0;
while (number > 0) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
return count;
}
```
这个函数会使用循环,从整数 number 的最后一位开始判断数字 digit 是否相等,如果相等则计数器 count 加一。然后将 number 除以 10,去掉最后一位,继续循环,直到 number 等于 0。最后返回计数器 count 的值,即数字 digit 在整数 number 中出现的次数。
你可以调用这个函数来统计任意整数中数字出现的次数,例如 countdigit(10090, 0) 将返回 3。
相关问题
请帮我用c语言实现一个统计整数中指定数字的个数的简单函数:输入两个整数number和digit(0<=digit<=9),统计并输出整数number中数字digit的个数。 要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字digit的个数。例如countdigit(10090,0)的返回值是3。
这是一个简单的 C 语言函数实现,可以实现你的需求:
```c
#include <stdio.h>
int countdigit(int number, int digit) {
int count = 0;
while (number != 0) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
return count;
}
int main() {
int number, digit;
printf("请输入一个整数:");
scanf("%d", &number);
printf("请输入一个数字(0~9):");
scanf("%d", &digit);
printf("%d 中数字 %d 的个数是 %d\n", number, digit, countdigit(number, digit));
return 0;
}
```
该程序中,`countdigit` 函数接收两个整数参数 `number` 和 `digit`,返回 `number` 中数字 `digit` 的个数。
函数中,用 `while` 循环逐位判断 `number` 的个位数字是否等于 `digit`,如果相等则将计数器 `count` 加 1,之后将 `number` 除以 10,去掉个位数字,继续下一轮循环。最终返回计数器 `count` 的值。
在 `main` 函数中,首先通过 `scanf` 函数分别读入整数 `number` 和数字 `digit`,之后调用 `countdigit` 函数统计 `number` 中数字 `digit` 的个数,最后输出结果。
使用函数统计指定数字的个数:输入一个整数number 和一个整数digit(0≤digit≤9), 统计并输出整数number 中数字digit 的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number 中数字digit 的个数。使用c语言
以下是实现该功能的 C 语言代码:
```c
#include <stdio.h>
int countdigit(int number, int digit);
int main()
{
int number, digit;
printf("请输入一个整数number:");
scanf("%d", &number);
printf("请输入一个0-9之间的整数digit:");
scanf("%d", &digit);
int count = countdigit(number, digit);
printf("数字%d在整数%d中出现了%d次。\n", digit, number, count);
return 0;
}
int countdigit(int number, int digit)
{
int count = 0;
while (number != 0)
{
int remainder = number % 10;
if (remainder == digit)
{
count++;
}
number /= 10;
}
return count;
}
```
运行结果如下:
```
请输入一个整数number:123456789
请输入一个0-9之间的整数digit:5
数字5在整数123456789中出现了1次。
```
阅读全文