Write a program to count the occurrences of each letter in an array of characters.
时间: 2024-03-17 21:43:12 浏览: 60
以下是一个C语言程序,可以对给定的字符数组进行遍历,并计算每个字母在数组中出现的次数:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char arr[] = "Hello World!";
int count[26] = {0}; // 用于存储每个字母出现的次数
int i;
for (i = 0; arr[i] != '\0'; i++) {
if (isalpha(arr[i])) { // 判断当前字符是否为字母
count[tolower(arr[i]) - 'a']++; // 将字母转换为小写,然后将计数器加1
}
}
printf("Letter frequencies:\n");
for (i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c: %d\n", 'a' + i, count[i]); // 输出每个字母和它出现的次数
}
}
return 0;
}
```
在这个程序中,我们首先声明了一个字符数组 `arr`,然后使用一个长度为26的整型数组 `count` 来记录每个字母出现的次数,初始化为0。接下来,我们使用一个循环遍历字符数组,并在遍历过程中判断当前字符是否为字母。如果是字母,则将计数器数组中相应的位置加1。
最后,我们再次遍历计数器数组,并输出每个字母和它出现的次数。注意,在输出字母时,我们需要将它转换为字符形式,即将其加上字符 'a'。
阅读全文