使用C语言实现以下功能,要求不调用其他函数:1、输入长度不超过128的字符串; 2、统计其中各个英文字母的出现次数,包括大小写字母;非英文字母不统计;3.区分大小写,输出大小写字母的具体个数。
时间: 2024-04-11 17:28:25 浏览: 77
下面是使用 C 语言实现输入字符串并统计其中各个英文字母出现次数(区分大小写)的代码,并输出大小写字母的具体个数:
```c
#include <stdio.h>
#define MAX_LENGTH 128
int main() {
char str[MAX_LENGTH];
int countLower[26] = {0}; // 统计小写字母出现次数的数组
int countUpper[26] = {0}; // 统计大写字母出现次数的数组
printf("请输入字符串(长度不超过128):");
fgets(str, sizeof(str), stdin);
// 统计字母出现次数
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
countLower[str[i] - 'a']++;
} else if (str[i] >= 'A' && str[i] <= 'Z') {
countUpper[str[i] - 'A']++;
}
}
// 输出小写字母结果
for (int i = 0; i < 26; i++) {
if (countLower[i] > 0) {
printf("%c: %d\n", 'a' + i, countLower[i]);
}
}
// 输出大写字母结果
for (int i = 0; i < 26; i++) {
if (countUpper[i] > 0) {
printf("%c: %d\n", 'A' + i, countUpper[i]);
}
}
return 0;
}
```
这段代码与之前的代码相似,只是增加了一个用于统计大写字母出现次数的数组 `countUpper`。通过遍历输入字符串时,如果遇到小写字母,将其对应位置的计数器加一;如果遇到大写字母,将其转换为小写字母后对应位置的计数器加一。最后分别输出小写字母和大写字母的统计结果。
请注意,该代码假设输入的字符串中只包含 ASCII 字符,并且只统计英文字母的出现次数。非英文字母不会被统计。另外,请确保输入的字符串长度不超过 128。
阅读全文