使用C语言。输入正整数a,b(0<a<b<10000),输入k(0<=k<=9), 输出从a到b,包含的k的个数(数位中含有即可,例如92中含有9) 测试案例: 输入 90 123 2 输出 8 解释 92 102 112 120 121 122 123
时间: 2024-09-09 17:01:09 浏览: 40
C语言输入三个正整数a, b, c. 若此三数构成三角形,则输出三角形面积
要使用C语言来实现这个功能,我们可以编写一个程序,遍历从a到b的所有整数,对于每一个整数,我们逐个检查其每一位数字,如果发现某个位上的数字等于k,就增加计数器的值。最后输出计数器的值即为所求。
以下是实现这个功能的一个C语言示例代码:
```c
#include <stdio.h>
int contains_k(int num, int k) {
// 检查num的每一位是否包含数字k
while (num > 0) {
if (num % 10 == k) {
return 1; // 如果发现有位等于k,返回1
}
num /= 10; // 去掉最后一位数字
}
return 0; // 如果所有位都不等于k,返回0
}
int main() {
int a, b, k;
int count = 0;
// 读取输入
scanf("%d %d %d", &a, &b, &k);
// 遍历从a到b的所有整数
for (int i = a; i <= b; ++i) {
if (contains_k(i, k)) {
count++; // 如果当前数字含有k,则计数器加一
}
}
// 输出结果
printf("%d\n", count);
return 0;
}
```
这段代码首先定义了一个`contains_k`函数,用于判断一个数字是否包含某个特定的数字k。然后在`main`函数中读取输入的a, b, k值,遍历这个范围内的所有数字,并使用`contains_k`函数检查每个数字是否包含k,如果包含,则计数器增加。最后输出计数器的值。
阅读全文