C语言编程实现输入一个位数不超过 9 位数的正整数存入整型变量 x 中,统计其中每个数字出现的次数
时间: 2024-12-19 12:17:21 浏览: 22
在C语言中,你可以使用结构体和数组来实现这个功能。首先创建一个结构体,用于存储每一位的计数,然后遍历输入的字符串,对每一个字符进行计数。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 创建一个结构体,用于存储每个数字及其出现次数
typedef struct {
char digit;
int count;
} DigitCount;
// 函数用于统计数字出现次数
void countDigits(char str[], int len, int *counts) {
for (int i = 0; i < len; ++i) {
if (str[i] >= '0' && str[i] <= '9') { // 只考虑数字
counts[str[i] - '0']++; // 根据ASCII值将字符转为数字并更新计数
}
}
}
int main() {
char input[10];
printf("请输入一个不超过9位的正整数:");
fgets(input, sizeof(input), stdin); // 防止换行符干扰
input[strcspn(input, "\n")] = '\0'; // 删除末尾的换行符
int counts[10] = {0}; // 初始化计数数组
int length = strlen(input);
countDigits(input, length, counts);
printf("每个数字出现的次数:\n");
for (int i = 0; i < 10; ++i) {
if (counts[i] > 0) {
printf("%d: %d\n", i + '0', counts[i]);
}
}
return 0;
}
阅读全文