用c语言完成字符串中个个字母出现的次数
时间: 2024-10-08 21:21:13 浏览: 34
c语言将字符串中的小写字母转换成大写字母
5星 · 资源好评率100%
在 C 语言中,可以使用结构体数组来统计字符串中每个字符的出现次数。首先,创建一个结构体存储字符和对应的计数,然后遍历字符串,对于每一个字符,检查它是否已经在结构体数组中,如果存在则增加计数,否则添加到数组中并设置计数为1。以下是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义字符计数结构体
typedef struct {
char ch;
int count;
} CharCount;
// 函数用于统计字符串中每个字符的出现次数
void countChars(char *str) {
int len = strlen(str);
CharCount counts[len];
memset(counts, 0, sizeof(CharCount) * len);
for (int i = 0; i < len; i++) {
if (counts[i].ch == str[i]) { // 如果字符已经存在于数组中
counts[i].count++; // 增加计数
} else { // 否则,将新字符添加到数组中
counts[i].ch = str[i]; // 更新字符
counts[i].count = 1; // 设置初始计数为1
}
}
// 打印结果
for (int i = 0; i < len; i++) {
printf("'%c': %d\n", counts[i].ch, counts[i].count);
}
}
int main() {
char str[] = "Hello, World!";
countChars(str);
return 0;
}
```
当你运行这个程序,它会输出字符串 "Hello, World!" 中每个字符及其出现的次数。
阅读全文