c语言输入字符串求每种英文字母的个数
时间: 2024-12-15 14:18:42 浏览: 5
c语言输入字符串数组四组输入字符串数组
在C语言中,我们可以使用数组和循环结构来统计输入字符串中各英文字符的出现次数。这里假设我们要统计小写字母,因为大写字母可以通过ASCII值减去32转为对应的小写字母。以下是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的头文件
#define ALPHABET_SIZE 26
char letterCounts[ALPHABET_SIZE] = {0}; // 初始化字母计数数组
void countLetters(const char *str) {
while (*str) { // 遍历字符串中的每个字符
if (isalpha(*str)) { // 检查是否为字母
char lowerLetter = tolower(*str); // 转换为小写
letterCounts[lowerLetter - 'a']++; // 更新对应字母的计数
}
str++; // 移动到下一个字符
}
}
int main() {
char input[100];
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 输入字符串
input[strcspn(input, "\n")] = '\0'; // 去除末尾的换行符
countLetters(input);
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (letterCounts[i] > 0) {
printf("%c appears %d times.\n", 'a' + i, letterCounts[i]);
}
}
return 0;
}
```
在这个程序中,`countLetters`函数会计算输入字符串中各小写字母的数量,并存储在`letterCounts`数组中。`main`函数获取用户输入并调用这个函数,最后遍历数组显示结果。
阅读全文