写一个函数用来统计字符串中各字母出现的次数,用c#
时间: 2024-03-01 22:35:05 浏览: 33
语言实现
可以使用数组来记录每个字母出现的次数。首先将数组中所有元素初始化为0,然后遍历字符串中的每个字符,将对应字母的计数器加1。最后输出每个字母及其出现次数。
函数原型如下:
void countLetters(char str[]);
其中str为要统计的字符串。
完整代码如下:
#include <stdio.h>
void countLetters(char str[]) {
int counts[26] = {0}; // 初始化每个字母出现次数为0
int i;
for (i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
counts[str[i] - 'a']++; // 小写字母
} else if (str[i] >= 'A' && str[i] <= 'Z') {
counts[str[i] - 'A']++; // 大写字母
}
}
for (i = 0; i < 26; i++) {
if (counts[i] > 0) {
printf("%c: %d\n", 'a' + i, counts[i]);
}
}
}
使用样例:
int main() {
char str[] = "Hello, World!";
countLetters(str);
return 0;
}
输出结果:
H: 1
W: 1
d: 1
e: 1
l: 3
o: 2
r: 1
说明:这个字符串中,字母H、W、d、e、l、o、r分别出现了1、1、1、1、3、2、1次。其他字母没有出现。