使用C语言实现以下功能:1、输入长度不超过128的字符串; 2、统计其中各个英文字母的出现次数,包括大小写字母;非英文字母不统计; 比如,输入abAc1b2;cAB 输出: a:1 A:2 b:2 B:1 c:2
时间: 2024-04-11 14:28:19 浏览: 55
C语言写的一些字符串处理函数,包括连接,查找重复字符和获取字符串长度
5星 · 资源好评率100%
下面是一个使用C语言实现的示例代码,可以实现统计字符串中各个英文字母出现次数的功能:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LENGTH 128
int main() {
char str[MAX_LENGTH];
int count[26] = {0}; // 用于统计每个字母出现的次数,假设只有26个字母
printf("请输入一个长度不超过128的字符串:\n");
fgets(str, sizeof(str), stdin);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 只统计英文字母
int index = tolower(str[i]) - 'a';
count[index]++;
}
}
printf("各个英文字母的出现次数为:\n");
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c: %d\n", 'a' + i, count[i]);
}
}
return 0;
}
```
这段代码首先定义了一个长度为128的字符数组 `str`,用于存储用户输入的字符串。然后定义了一个长度为26的整型数组 `count`,用于统计每个字母出现的次数。接下来,使用 `fgets` 函数从标准输入获取用户输入的字符串。然后使用 `isalpha` 函数判断字符是否为英文字母,并使用 `tolower` 函数将大写字母转换为小写字母,然后根据字母的ASCII码计算出该字母在 `count` 数组中的索引,将对应位置的计数器加1。最后,遍历 `count` 数组,输出每个字母的出现次数。
请注意,这段代码只统计了英文字母的出现次数,不包括非英文字母。另外,代码中没有进行输入验证,如果用户输入的字符串超过128个字符,可能会导致缓冲区溢出,请根据实际需求进行修改和完善。
阅读全文