C语言计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次? 例如,在 1到 11 中,即在 1、2、3、4、5、6、7、8、9、10、11 中,数字 1 出现了 4 次。 输入的两个整数,第一个数为n的值,第二个为x的值。
时间: 2024-09-10 09:26:21 浏览: 99
要计算在区间1到n的所有整数中,数字x出现的次数,我们可以编写一个程序,通过遍历这个区间内的每一个数字,然后逐个检查每个数字的每一位是否等于x来统计x的出现次数。具体的实现步骤如下:
1. 初始化一个计数器count为0,用来记录数字x出现的次数。
2. 使用一个for循环,从1遍历到n。
3. 在每次循环中,使用一个临时变量temp等于当前的数字。
4. 使用一个while循环,如果temp不为0,则持续进行以下步骤:
a. 通过取模操作temp % 10获取temp的最低位数字。
b. 判断这个最低位数字是否等于x,如果是,则count加1。
c. 将temp除以10,去掉最低位,继续检查下一位数字。
5. 循环结束后,count中存储的就是数字x在区间1到n中出现的总次数。
下面是一个实现这个逻辑的C语言代码示例:
```c
#include <stdio.h>
int countOccurrences(int n, int x) {
int count = 0;
for (int i = 1; i <= n; i++) {
int temp = i;
while (temp != 0) {
if (temp % 10 == x) {
count++;
}
temp /= 10;
}
}
return count;
}
int main() {
int n, x;
scanf("%d %d", &n, &x);
printf("数字 %d 在 1 到 %d 中出现了 %d 次。\n", x, n, countOccurrences(n, x));
return 0;
}
```
用户可以运行这个程序,并输入两个整数n和x,程序将会输出数字x在1到n的区间中出现的次数。
阅读全文