用c语言写出一个能统计数组中字母个数的程序,并且自定义函数,调用到主函数里
时间: 2024-05-01 08:20:41 浏览: 65
c语言实现统计每个字符的个数
4星 · 用户满意度95%
下面是一个可以统计数组中字母个数的 C 语言程序,其中包含自定义函数 `countLetters`,并在主函数中调用:
```c
#include <stdio.h>
#include <ctype.h>
void countLetters(char arr[], int size, int counts[]) {
for (int i = 0; i < size; i++) {
if (isalpha(arr[i])) {
counts[toupper(arr[i]) - 'A']++;
}
}
}
int main() {
char arr[] = {'a', 'b', 'c', 'D', 'E', 'F', '1', '2', '3'};
int counts[26] = {0};
int size = sizeof(arr) / sizeof(arr[0]);
countLetters(arr, size, counts);
for (int i = 0; i < 26; i++) {
printf("%c: %d\n", 'A' + i, counts[i]);
}
return 0;
}
```
在上面的程序中,`countLetters` 函数接受三个参数:一个字符数组 `arr`,数组大小 `size`,以及一个用于记录字母个数的整数数组 `counts`。函数使用 `isalpha` 判断字符是否为字母,如果是字母,则将其转换为大写并在 `counts` 数组相应位置上加 1。
在主函数中,我们定义了一个字符数组 `arr`,包含了字母和非字母字符。然后定义一个长度为 26 的整数数组 `counts`,用于记录每个字母出现的次数。我们使用 `sizeof` 运算符计算出 `arr` 数组的大小,并将大小和 `counts` 数组传递给 `countLetters` 函数。最后,在循环中打印出每个字母出现的次数。
阅读全文