使用C语言编制一个程序,定义一个函数,返回一个字符串中的26个英文字母(不区分大小写)出现的次数,在主函数中调用这个函数并输出字数统计情况(只允许主函数调用输出函数)。
时间: 2024-03-25 08:40:04 浏览: 40
好的,以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void count_letters(char *str, int *counts) {
int i;
for (i = 0; i < 26; i++) {
counts[i] = 0;
}
while (*str != '\0') {
if (isalpha(*str)) {
counts[tolower(*str) - 'a']++;
}
str++;
}
}
void print_counts(int *counts) {
int i;
for (i = 0; i < 26; i++) {
printf("%c: %d\n", 'a' + i, counts[i]);
}
}
int main() {
char str[1000];
int counts[26];
printf("请输入一个字符串:");
fgets(str, 1000, stdin);
count_letters(str, counts);
printf("字母统计情况如下:\n");
print_counts(counts);
return 0;
}
```
这个程序定义了两个函数:`count_letters` 和 `print_counts` 。`count_letters` 函数用于统计一个字符串中每个英文字母出现的次数,`print_counts` 函数用于输出统计结果。主函数中先读入一个字符串,然后调用 `count_letters` 统计字母出现次数,并最后调用 `print_counts` 输出统计结果。
阅读全文