用C语言编写一个程序,输入一个整数,输出0~9各数字在该整数中出现的次数
编写一个C语言程序,用于统计一个整数中每个数字(0到9)出现的次数。下面是实现这个功能的详细步骤和代码示例:
步骤解析:
- 输入整数: 首先从用户输入获取一个整数。
- 初始化计数数组: 创建一个长度为10的整型数组,用于统计每个数字出现的次数,数组索引对应数字。
- 遍历整数的每一位: 使用循环结构遍历整数的每一位数字。
- 更新计数: 对于每个数字,将计数数组对应位置的计数加一。
- 输出统计结果: 最后输出每个数字出现的次数。
代码示例:
c#include <stdio.h>
int main() {
int num;
int digitCounts[10] = {0}; // 初始化数字计数数组,索引0对应数字0,索引1对应数字1,依此类推
// 输入整数
printf("请输入一个整数:");
scanf("%d", &num);
// 处理负数情况,转换成正数处理
if (num < 0) {
num = -num;
}
// 统计每个数字出现的次数
while (num > 0) {
int digit = num % 10; // 获取个位数字
digitCounts[digit]++; // 对应数字计数加一
num /= 10; // 去掉个位数字
}
// 输出统计结果
printf("数字出现的次数如下:\n");
for (int i = 0; i < 10; ++i) {
printf("数字 %d 出现了 %d 次\n", i, digitCounts[i]);
}
return 0;
}
代码说明:
变量和数组:
num
:用于存储输入的整数。digitCounts
:长度为10的数组,用于统计0到9每个数字出现的次数。
输入处理:
- 使用
scanf
函数获取用户输入的整数。 - 如果输入的是负数,取其绝对值处理。
- 使用
统计数字出现次数:
- 使用
while
循环遍历整数num
的每一位数字。 digit = num % 10
获取当前最低位的数字。digitCounts[digit]++
将对应数字的计数加一。num /= 10
将num
除以10,去掉当前最低位数字。
- 使用
输出结果:
- 使用
for
循环遍历digitCounts
数组,输出每个数字对应的出现次数。
- 使用
示例运行:
请输入一个整数:1234567890 数字出现的次数如下: 数字 0 出现了 1 次 数字 1 出现了 1 次 数字 2 出现了 1 次 数字 3 出现了 1 次 数字 4 出现了 1 次 数字 5 出现了 1 次 数字 6 出现了 1 次 数字 7 出现了 1 次 数字 8 出现了 1 次 数字 9 出现了 1 次
这样,你可以输入任意整数,程序会统计并输出该整数中每个数字(0到9)的出现次数。