c语言运用数组输⼊⼀个数字,统计这个数的各个位上的数字总共出现了⼏次,最后按照从⼩到⼤进⾏输出。
时间: 2024-10-25 08:14:12 浏览: 31
简单的C语言程序示例,用于统计一个非负整数中每个位上的数字出现的次数.pdf
在 C 语言中,你可以通过遍历输入数字的每一位,并将其存储在一个哈希表(如数组或结构体数组)中来实现这个功能。以下是一个简单的步骤描述:
1. 首先,声明一个大小足够存储所有数字(0-9)的数组,例如 int count[10],初始化每个元素为0。
2. 接收用户输入的整数。使用 `scanf` 函数读取用户的输入,比如 `int num; scanf("%d", &num);`
3. 使用循环遍历输入数字的每一位。可以将数字转换成字符串,然后逐字符处理。如果字符串长度大于1,可以用除法和取余运算提取每一位,像这样:
```c
while (num > 0) {
int digit = num % 10;
count[digit]++;
num /= 10;
}
```
4. 统计完成后,遍历数组并打印出每个数字及其出现次数,注意对数组索引进行从0开始到9的处理:
```c
for (int i = 0; i < 10; i++) {
if (count[i] > 0) {
printf("数字%d出现了%d次\n", i, count[i]);
}
}
```
5. 为了按从小到大的顺序输出,可以在内层循环中添加一个临时数组保存结果,然后在输出之前对临时数组进行排序。
注意,上述代码未涉及排序部分,因为题目要求的是“按照从小到大”,所以这里直接假设了原始数组就是已排序好的。如果你需要排序,可以考虑插入排序或者其他简单排序算法。
阅读全文