设计一个子函数,分别统计任意一串字符中26个字母的个数,并在主函数中输入任意一串字符,调用此函数进行统计。用C语言
时间: 2024-05-12 09:15:07 浏览: 118
可以设计一个函数来实现这个功能,代码如下:
```c
#include <stdio.h>
#include <ctype.h>
void count_letters(char *str){
int count[26] = {0}; // 初始化计数数组
// 遍历字符串,统计每个字母出现的次数
while (*str != '\0'){
if (isalpha(*str)){ // 判断字符是否为字母
count[tolower(*str) - 'a']++; // 统计字母出现次数
}
str++; // 移动指针到下一个字符
}
// 输出统计结果
for (int i = 0; i < 26; i++){
printf("%c: %d\n", 'a' + i, count[i]);
}
}
int main(){
char str[100];
printf("请输入一串字符:");
fgets(str, 100, stdin); // 从标准输入读取一行字符
count_letters(str);
return 0;
}
```
在主函数中,首先输入一串字符,然后调用 `count_letters` 函数进行统计。`count_letters` 函数使用一个计数数组来统计每个字母出现的次数,然后输出统计结果。其中,`isalpha` 函数用于判断字符是否为字母,`tolower` 函数用于将大写字母转换为小写字母。
阅读全文