帮我用C++写一个程序通过输入字符串,输出字符串中出现次数最多的字母及其出现次数。如果有多个字母出现次数一样,则按字符从小到大顺序输出字母及其出现次数。
时间: 2024-04-29 15:23:07 浏览: 51
好的,您的需求已经被记录下来了。关于您的问题,以下是程序的实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str[MAX_LEN];
int count[26] = {0}; // 统计每个字母出现的次数
int max_count = 0;
printf("请输入字符串:");
scanf("%s", str);
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') { // 只统计小写字母
count[str[i] - 'a']++;
if (count[str[i] - 'a'] > max_count) {
max_count = count[str[i] - 'a'];
}
}
}
printf("出现次数最多的字母及其出现次数为:\n");
for (int i = 0; i < 26; i++) {
if (count[i] == max_count) {
printf("%c %d\n", i + 'a', count[i]);
}
}
return 0;
}
```
请注意:这只是一个简单的实现,没有进行输入错误检查和异常处理。为了使程序更加健壮,你可以添加一些额外的代码。
阅读全文