输入一个字符串,统计其中每个字母的出现次数(不区分大小写),c语言
时间: 2024-11-29 14:35:28 浏览: 4
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
要实现C语言程序来统计输入字符串中各字母(不区分大小写)的出现次数,可以参考以下代码:
```c
#include <stdio.h>
#include <ctype.h>
#define ALPHABET_SIZE 26
void count_letters(const char* str) {
int counts[ALPHABET_SIZE] = {0}; // 初始化字母计数数组
int len;
len = strlen(str);
for (int i = 0; i < len; i++) {
if (isalpha(str[i])) { // 检查字符是否为字母
char lower_case = tolower(str[i]); // 转换为小写
counts[lower_case - 'a']++; // 更新对应字母的计数
}
}
// 打印结果
printf("字母出现次数:\n");
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (counts[i] > 0) {
printf("%c: %d\n", 'a' + i, counts[i]);
}
}
}
int main() {
printf("请输入一个字符串(不超过100个): ");
char input[101];
fgets(input, sizeof(input), stdin);
// 去除fgets可能带来的换行符
input[strcspn(input, "\n")] = '\0';
count_letters(input);
return 0;
}
```
这段代码定义了一个`count_letters`函数,它接受一个字符串作为参数,遍历并统计其中的字母(转换为小写),最后打印出每个字母及其出现次数。
阅读全文