用C语言设计一个子函数,分别统计任意一串字符中26个字母的个数,并在主函数中输入任意一串字符,调用此函数进行统计。
时间: 2024-05-03 20:19:32 浏览: 108
下面是一个简单的C语言程序,其中包含了一个子函数 `countLetters()`,可以统计任意一串字符中26个字母的个数。在主函数中,我们通过调用该函数来实现对任意一串字符的统计。
```c
#include <stdio.h>
#include <ctype.h>
void countLetters(char str[]) {
int count[26] = {0};
int i, len;
len = strlen(str);
for (i = 0; i < len; i++) {
if (isalpha(str[i])) {
count[tolower(str[i]) - 'a']++;
}
}
for (i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, count[i]);
}
}
int main() {
char str[100];
printf("请输入一串字符:");
fgets(str, 100, stdin);
printf("字母个数统计结果:\n");
countLetters(str);
return 0;
}
```
程序运行时,会要求用户输入一串字符,然后输出26个字母的个数统计结果。`countLetters()` 函数中首先定义了一个长度为 26 的整型数组 `count`,用于保存每个字母出现的个数。然后遍历输入的字符串,如果当前字符是字母,就将对应的计数器加 1。最后,遍历计数器数组并输出结果。
需要注意的是,本程序中使用了 C 语言标准库中的 `isalpha()` 和 `tolower()` 函数,这两个函数分别用于判断一个字符是否为字母,以及将一个字符转换为小写字母。
阅读全文