如何使用C语言编写一个程序,接受一行包含数字字符的输入(例如 '123abc456'),然后利用数组作为计数器统计每个数字字符的出现次数?具体来说,数组的第一个元素(下标为0)用于统计字符'0'的数量,第二个元素(下标为1)统计字符'1'的数量,依此类推?请提供相应的C代码实现。
时间: 2025-01-01 22:35:37 浏览: 6
在C语言中,你可以创建一个动态大小的数组来存储每个字符及其对应的计数值。以下是一个简单的示例程序,它会读取用户输入的一行字符串,并计算每个数字字符的出现次数:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHARS 10 // 根据需要调整最大字符数
int main() {
char input[100]; // 用户输入的字符串
int count[MAX_CHARS] = {0}; // 初始化计数器数组
int i;
// 读取用户输入
printf("请输入一行包含数字字符的字符串(如 '123abc456'): ");
fgets(input, sizeof(input), stdin);
// 去除输入字符串的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
// 遍历输入字符串并更新计数器
for (i = 0; input[i] != '\0'; ++i) {
if ('0' <= input[i] && input[i] <= '9') { // 如果是数字字符
count[input[i] - '0']++;
}
}
// 打印结果
printf("字符出现次数:\n");
for (i = 0; i < MAX_CHARS; i++) {
if (count[i] > 0) {
printf("%d: %d\n", i + '0', count[i]);
}
}
return 0;
}
```
阅读全文