输入字符串,统计各小写字母出现的频次,输出出现频次最高的2个字母
5条回答 默认 最新
南七灵 2021-12-16 14:35关注#include <stdio.h> #include <string.h> int main() { int i, fre[26] = {0}; char str[1024]; gets(str); for(i = 0;i < strlen(str);i++){ if(str[i] >= 'a' && str[i] <= 'z'){ fre[str[i] - 'a'] ++; } } int max1 = fre[0],max2 = fre[0],m1 = 0,m2 = 0; for(i = 0;i < 26;i++){ printf("%c:%d\n",i +'a',fre[i]); if(fre[i] >= max1){ max2 = max1; m2 = m1; max1 = fre[i]; m1 = i; }else if(fre[i] > max2){ max2 = fre[i]; m2 = i; } } printf("%c %c",m1 + 'a', m2 + 'a'); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报