如何用C语言简单编写程序来统计字符串中各字符的出现次数?
时间: 2024-11-23 14:40:40 浏览: 1
C语言程序设计-分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80);.c
5星 · 资源好评率100%
在C语言中,你可以使用数组来存储每个字符及其出现次数。下面是一个简单的示例程序,它会统计给定字符串中每个字符的出现次数:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CHAR 128 // Assuming ASCII characters
// 定义字符计数数组
int char_count[MAX_CHAR] = {0};
void count_chars(char *str) {
while (*str != '\0') { // 遍历字符串直到遇到结束符
if (*str >= 'a' && *str <= 'z') { // 只考虑小写字母(ASCII码)
++char_count[*str]; // 对字母计数++
} else if (*str >= 'A' && *str <= 'Z') { // 同理,考虑大写字母
++char_count[*str - 'A' + 'a']; // 转换大小写并计数
}
str++;
}
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 从用户输入读取字符串
input[strcspn(input, "\n")] = '\0'; // 清除fgets留下的换行符
count_chars(input);
for (int i = 0; i < MAX_CHAR; i++) {
if (char_count[i] > 0) {
printf("'%c': %d\n", i, char_count[i]);
}
}
return 0;
}
```
这个程序首先定义了一个字符计数数组`char_count`,然后通过`count_chars`函数遍历输入的字符串,更新字符计数。最后,在`main`函数里,我们打印出每个非空计数的字符及其出现次数。
阅读全文