c语言设计一个子函数,分别统计任意一串字符中26个字母的个数,并在主函数中输入任意一串字符,调用此函数进行统计。
时间: 2023-07-14 12:13:39 浏览: 102
下面是一个示例代码,实现了统计任意一串字符中26个字母的个数的功能:
```c
#include <stdio.h>
#include <ctype.h>
void count_letters(char *str, int *counts) {
// 初始化计数器数组
for (int i = 0; i < 26; i++) {
counts[i] = 0;
}
// 遍历字符串,统计字母个数
for (; *str != '\0'; str++) {
if (isalpha(*str)) {
int index = tolower(*str) - 'a';
counts[index]++;
}
}
}
int main() {
char str[100];
int counts[26];
printf("请输入一串字符:");
fgets(str, sizeof(str), stdin);
count_letters(str, counts);
printf("统计结果如下:\n");
for (int i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, counts[i]);
}
return 0;
}
```
在上面的代码中,`count_letters` 函数接受一个字符串和一个整型数组作为参数。它首先将计数器数组初始化为0,然后遍历字符串中的每个字符,如果是字母就统计到对应字母的计数器中。最后,在主函数中输入任意一串字符,并调用 `count_letters` 函数进行统计,最终输出统计结果。
阅读全文