C语言输入字符串,输出字符串中出现次数最多的字母及其出现次数。如果有多个字母出现次数一样,则按字符从小到大顺序输出字母及其出现次数。
时间: 2023-12-21 10:05:45 浏览: 192
C语言程序设计-分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80);.c
5星 · 资源好评率100%
可以使用数组记录每个字母出现的次数,然后遍历数组找到出现次数最多的字母及其出现次数,并按照要求进行输出。以下是C语言的代码实现:
```
#include<stdio.h>
#include<string.h>
#define MAX_SIZE 26
int main(){
char str[100];
int count[MAX_SIZE] = {0}; // 初始化每个字母出现次数为0
int i, len, maxCount = 0;
char maxChar = 'a'; // 初始化字母为'a'
printf("请输入字符串:");
gets(str); // 输入字符串,不考虑安全问题
len = strlen(str);
for(i = 0; i < len; i++){
if(str[i] >= 'a' && str[i] <= 'z'){
count[str[i] - 'a']++; // 统计每个字母出现的次数
}
}
for(i = 0; i < MAX_SIZE; i++){
if(count[i] > maxCount){
maxCount = count[i];
maxChar = 'a' + i;
}
}
printf("%c:%d", maxChar, maxCount);
for(i = 0; i < MAX_SIZE; i++){
if(count[i] == maxCount && 'a' + i != maxChar){
printf(" %c:%d", 'a' + i, maxCount); // 如果有多个字母出现次数一样,按顺序输出
}
}
return 0;
}
```
阅读全文