C语言计算数组中每个字符出现的次数
时间: 2024-09-29 07:14:38 浏览: 33
在C语言中,计算数组中每个字符出现的次数可以使用一个哈希表(如`unsigned char count[128]`)或者一个整型数组来存储每个ASCII字符及其对应的计数。这里是一个简单的示例:
```c
#include <stdio.h>
void count_chars(char *arr, int size) {
unsigned char count[128] = {0}; // 初始化所有元素为0
for (int i = 0; i < size; i++) {
if(arr[i] >= 'a' && arr[i] <= 'z') // 考虑小写字母
count[arr[i]]++;
else if(arr[i] >= 'A' && arr[i] <= 'Z') // 考虑大写字母
count[arr[i] + ('a' - 'A')]++; // ASCII转换,保持区分大小写
else if(arr[i] >= '0' && arr[i] <= '9') // 数字
count[arr[i] + ('a' - 'A')]++; // 对数字也做同样的处理
// 其他特殊字符忽略或自行添加对应处理
}
for (int i = 0; i < 128; i++) {
if(count[i] > 0)
printf("字符 '%c' 出现 %d 次\n", i, count[i]);
}
}
int main() {
const char *test_array = "Hello, World! 123";
int array_size = strlen(test_array);
count_chars(test_array, array_size);
return 0;
}
```
在这个例子中,我们遍历输入的字符数组,更新`count[]`数组中相应字符的计数值。最后,我们打印出每个非空计数的结果。
阅读全文