c语言数组编写程序,输⼊⼀个数字,统计这个数的各个位上的数字总共出现了⼏次,最后按照从⼩到⼤进⾏输出。
时间: 2024-10-25 11:13:31 浏览: 31
在C语言中,你可以通过遍历数组并使用哈希表来实现这个功能。以下是一个简单的示例程序,它会读取用户输入的整数,并计算每个数字在每一位上出现的次数。然后将结果存储在一个结构体数组中,最后按照从小到大的顺序打印出来:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义一个结构体来存储每个数字及其出现次数
typedef struct {
int digit;
int count;
} DigitCount;
int main() {
int num, remainder;
DigitCount counts[10] = {0}; // 初始化计数数组
printf("请输入一个数字: ");
scanf("%d", &num);
while (num != 0) {
remainder = num % 10; // 取余数得到当前位的数字
counts[remainder].count++; // 数字出现次数加一
num /= 10; // 移除最低位
}
// 按照计数排序并输出结果
for (int i = 0; i < 10; i++) {
if (counts[i].count > 0) {
printf("%d 出现了 %d 次\n", i, counts[i].count);
}
}
return 0;
}
```
在这个程序中,我们首先获取用户的输入,然后对每位数字进行处理。接着,我们将结果存储在`counts`数组中,其中数组的索引代表数字,值代表该数字出现的次数。最后,我们遍历数组并打印出非零计数的结果。
阅读全文