c语言编写一个程序,接受用户输入的一个字符串,然后统计并输出字符串中出现次数最多的字母及其出现次数。
时间: 2024-04-15 15:28:21 浏览: 121
好的,以下是一个用C语言编写的程序,可以接受用户输入的字符串,并统计并输出字符串中出现次数最多的字母及其出现次数:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100
int main() {
char str[MAX_SIZE];
int count[26] = {0}; // 用于统计每个字母出现的次数
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count[str[i] - 'a']++;
} else if (str[i] >= 'A' && str[i] <= 'Z') {
count[str[i] - 'A']++;
}
}
int max_count = 0;
char max_char;
for (int i = 0; i < 26; i++) {
if (count[i] > max_count) {
max_count = count[i];
max_char = 'a' + i;
}
}
printf("出现次数最多的字母是 %c,出现次数为 %d\n", max_char, max_count);
return 0;
}
```
这个程序中,我们首先定义了一个大小为 `MAX_SIZE` 的字符数组 `str` 来存储用户输入的字符串,另外还定义了一个大小为 26 的整型数组 `count` 来统计每个字母出现的次数。然后,我们使用 `fgets` 函数从标准输入中读取用户的输入,并将其存储到 `str` 中。
接下来,我们遍历字符串的每个字符,如果字符是小写字母,则将对应的计数数组 `count` 的元素加1;如果字符是大写字母,则同样将对应的计数数组元素加1。
最后,我们遍历计数数组 `count`,找到出现次数最多的字母及其出现次数,并将其输出给用户。
希望对你有所帮助!如果有任何疑问,请随时提问。
阅读全文