用c语言设计一个子程序,分别统计任意一串字符中26个字母的个数,并在主函数中任意输入一串字符,调用此函数进行统计
时间: 2024-05-06 21:18:44 浏览: 87
下面是用C语言编写的一个子程序,可以统计任意一串字符中26个字母的个数:
```c
#include <stdio.h>
void count_letters(char *str) {
int count[26] = {0};
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count[str[i] - 'a']++;
} else if (str[i] >= 'A' && str[i] <= 'Z') {
count[str[i] - 'A']++;
}
}
for (int i = 0; i < 26; i++) {
printf("%c: %d\n", 'A' + i, count[i]);
}
}
int main() {
char str[100];
printf("请输入一串字符:");
fgets(str, sizeof(str), stdin);
count_letters(str);
return 0;
}
```
在主函数中,我们首先定义了一个字符数组 `str`,用于存储输入的一串字符。然后使用 `fgets` 函数从标准输入中读取输入的内容,并将其存储到 `str` 中。
接下来,我们调用了 `count_letters` 函数,并将输入的字符串作为参数传递给该函数。在 `count_letters` 函数中,我们首先定义了一个长度为 26 的整型数组 `count`,用于存储每个字母出现的次数。
然后使用一个循环遍历输入的字符串,对于每个字母,如果它是小写字母,则将对应的计数器加 1;如果它是大写字母,则也将对应的计数器加 1。最后,我们再次使用一个循环遍历整个计数器数组,并输出每个字母出现的次数。
这样,我们就完成了一个简单的统计字母个数的子程序。
阅读全文