设计函数,对输入英文字符串,统计26个英文字母出现的次数,大小写按照一种计算。技能标签:字符串 编程要求 输入一行字符串。 输出26行,每一行分别为字母的数量。用C语言
时间: 2024-10-29 07:17:51 浏览: 10
编写一个程序,实现字符串大小写的转换并倒序输出
在C语言中设计一个函数来统计输入英文字符串中每个字母(忽略大小写)出现的次数,可以使用字符数组和一个长度为26的一维整型数组来存储结果。下面是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h>
#define ALPHABET_SIZE 26
void count_letters(const char* str) {
int letter_count[ALPHABET_SIZE] = {0}; // 初始化字母计数数组
int len;
// 遍历字符串并统计字母出现次数
for (len = 0; str[len] != '\0'; len++) {
if (isalpha(str[len])) { // 检查是否为字母
char lower_case = tolower(str[len]); // 转换为小写
letter_count[lower_case - 'a']++; // 更新对应字母计数
}
}
// 输出结果
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (letter_count[i] > 0) {
printf("%d ", letter_count[i]);
}
printf("\n");
}
}
int main() {
char input[100];
printf("请输入一个英文字符串: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
count_letters(input);
return 0;
}
```
阅读全文