本关任务:从键盘输入一个非负整数 number,求其中含有指定数字 digit 的个数。例如:从键盘输入 number=1222 ,若 digit=2 ,则 1222 中含有 3 个 2。给出c语言代码
时间: 2023-06-08 22:03:45 浏览: 128
```
#include <stdio.h>
int main() {
int number, digit;
printf("请输入一个非负整数: ");
scanf("%d", &number);
printf("请输入指定数字: ");
scanf("%d", &digit);
int count = 0;
while (number > 0) {
if (number % 10 == digit) {
count++;
}
number /= 10;
}
printf("数字%d在输入的整数中出现了%d次。\n", digit, count);
return 0;
}
```
相关问题
C++从键盘输入一个非负整数 number,求其中含有指定数字 digit 的个数。例如:从键盘输入 number=1222 ,若 digit=2 ,则 1222 中含有 3 个 2。 编程要求 根据提示,在右侧编辑器补充代码,用函数实现,函数原型为:int CountDigit(int number,int digit) 测试说明 平台会对你编写的代码进行测试: 测试输入:1222 2 预期输出: 3
int CountDigit(int number,int digit)
{
int count = 0;
while (number != 0)
{
if (number % 10 == digit)
{
count++;
}
number /= 10;
}
return count;
}
从键盘输入一个正整数number,求其中含有指定数字digit的个数。例如:从键盘输入正整数number=1222,若digit=2,则1223中含有 3个2,要求用函数实现。函数原型为:int CountDigit(int number,int digit);
好的,这是一个简单的数字统计问题,可以通过以下函数实现:
```c++
int CountDigit(int number, int digit) {
int count = 0; // 初始化计数器为0
while (number > 0) {
int remainder = number % 10; // 取出number的个位数字
if (remainder == digit) { // 如果个位数字等于指定的digit
count++; // 则计数器加1
}
number /= 10; // 将number的个位数字删除
}
return count;
}
```
函数的思路是:将输入的正整数number从右往左逐位取出,判断该位数字是否等于指定的digit,如果是,则计数器加1,最后返回计数器的值即可。
需要注意的是,每次循环后要将number的个位数字删除,可以通过将number除以10实现。同时,需要将计数器count初始化为0,否则可能会出现错误的计数结果。
阅读全文