c语言编写程序,输⼊⼀个数字,统计这个数的各个位上的数字总共出现了⼏次,最后按照从⼩到⼤进⾏输出。(只输出出现过的数字,没有出现的数字不输出)。
时间: 2024-10-28 18:12:42 浏览: 6
在C语言中,你可以使用循环和数组来实现这个功能。首先,创建一个大小足够存放所有可能出现的数字的一维数组,并初始化所有元素为0。然后,输入数字并逐位处理,每看到一个新的数字就将对应位置的计数加一。最后,遍历数组,输出出现次数大于0的数字。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#define MAX_DIGITS 10 // 假设最多有10位数字
int count[10] = {0}; // 初始化计数数组
void inputAndCount(int num) {
while (num > 0) {
int digit = num % 10; // 取余获取当前位数字
count[digit]++;
num /= 10; // 移除最低位
}
}
void printNumbers() {
for (int i = 0; i < MAX_DIGITS; i++) {
if (count[i] > 0) {
printf("%d ", i);
}
}
}
int main() {
int num;
printf("请输入一个数字:");
scanf("%d", &num);
inputAndCount(num);
printf("\n按从小到大出现的次数输出:");
printNumbers();
return 0;
}
```
当你运行这段程序时,它会提示你输入一个数字,然后根据输入的数字统计各个位上的数字出现次数并输出。
阅读全文